Usb autorun device

ABSTRACT

A portable, application-specific USB autorun device, following connection to a computer terminal, automatically initialises or presents itself as a known type of device and then automatically sends to the terminal a sequence of data complying with a standard protocol, that sequence of data automatically causing content to be accessed or a task to be initiated. The device (i) includes a standardised USB module that includes a USB microcontroller, the standardised module being designed to be attached to or embedded in multiple types of different, application specific packages but (ii) excludes mass memory storage for applications or end-user data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.12/517,842, filed Sep. 30, 2010, which claims the priority ofPCT/GB2007/004731, filed on Dec. 10, 2007, which claims priority toGreat Britain Application No. 0624582.3, filed Dec. 8, 2006 and GreatBritain Application No. 0700207.4, filed Jan. 5, 2007, the entirecontents of which are hereby incorporated in total by reference

BACKGROUND OF THE INVENTION

1. Field of the Invention

The field of the invention is Universal Serial Bus (USB) Autorundevices.

2. Technical Background

USB is a serial bus standard; devices connecting using the USB standardmust have a physical connector that conforms to the standard: there arecurrently many applicable plug designs (e.g. Series A, Series B, Mini A,Mini B); the USB standard also evolves to cover new plug designs.

The term ‘USB autorun device’ refers to a USB human interface device(HID) Keyboard autorun device, such as that described in WO2007/077439A2or a USB compact disc (CD) emulator autorun device.

Universal Serial Bus Human Interface Device Class

Universal Serial Bus (USB) human interface device (HID) is a deviceclass definition of USB devices. This device class consists of humaninterface devices such as computer keyboards, computer mice, gamecontrollers, and alphanumeric display devices. The USB HID class isdefined in a number of documents provided by the USB Implementers Forum(USB-IF) Device Working Group. The primary document used to describe theUSB HID class is the Device Class Definition for HID 1.11, availablefrom http://www.usb.org/developers/devclass_docs/HID1_11.pdf.

The USB HID class describes devices used with nearly every moderncomputer. Many predefined functions exist in the USB HID class. Thesefunctions allow hardware manufacturers to design a product to USB HIDclass specifications and expect it to work with any software that alsomeets these specifications.

The USB HID class specifications allow for a myriad of other devicesunder the USB HID class. Some examples are automobile simulationcontrollers, exercise machines, telephony devices, audio controls, andmedical instrumentation. Any device can be a USB HID class device aslong as a designer meets the USB HID class logical specifications. Thisis not to say that there is no need to ship drivers for these devices,nor that an operating system will immediately recognize the device. Thisonly means that the device can declare itself under the human interfacedevice class.

One of the benefits of a well-defined specification like the USB HIDclass is the abundance of device drivers available in most modernoperating systems. The USB HID class devices and their basic functionsare defined in USB-IF documentation without any specific software inmind. Because of these generic descriptions, it is easy for operatingsystem designers to include functioning drivers for devices such askeyboards, mice, and other generic human interface devices. Theinclusion of these generic drivers allows for faster deployment ofdevices and easier installation by end-users.

The USB human interface device class can be used to describe both deviceand interface classes. The interface class is used when a USB device cancontain more than one function. It is possible, therefore, to have USBdevices with two different interfaces at the same time (e.g. a USBtelephone may use a HID keypad and an audio speaker.) The interfacedevices are also defined with subclass descriptors. The subclassdescriptor is used to declare a device bootable. A bootable device meetsa minimum adherence to a basic protocol and will be recognized by acomputer BIOS. BIOS stands for Basic Input/Output System. BIOS refers tothe software code run by a computer when first powered on. The primaryfunction of the BIOS is to prepare the machine so other softwareprograms stored on various media (such as hard drives, floppies, andCDs) can load, execute, and assume control of the computer. This processis known as booting up. BIOS can also be said to be a coded programembedded on a chip that recognises and controls various devices thatmake up the computer. The term BIOS is specific to personal computervendors.

Each USB HID interface communicates with the host using either a controlpipe or an interrupt pipe. Both IN and OUT control transfers arerequired for enumeration; only an IN interrupt transfer is required forHID reports. OUT interrupt transfers are optional in HID class devices.An interrupt is an asynchronous signal from hardware indicating the needfor attention or a synchronous event in software indicating the need fora change in execution. A hardware interrupt causes the processor to saveits state of execution via a context switch, and begin execution of aninterrupt handler. Software interrupts are usually implemented asinstructions in the instruction set, which cause a context switch to aninterrupt handler similarly to a hardware interrupt. Interrupts are acommonly used technique for computer multitasking, especially inreal-time computing. Such a system is said to be interrupt-driven.

The host periodically polls the device's interrupt IN endpoint duringoperation. When the device has data to send it forms a report and sendsit as a reply to the poll token. Common devices such as keyboards andmice send reports that are well-defined by the manufacturer. When avendor makes a custom USB HID class device, the reports formed by thedevice need only match the report description given during enumerationand the driver installed on the host system. In this way it is possiblefor the USB HID class to be extremely flexible.

USB HID Keyboard Autorun Device

This device automatically provides input data equivalent to that typedinto a computer keyboard when the device is plugged into the USB port ofa computer. An example is a webkey which is a USB key that stores awebsite address. When the computer's USB port, it automatically opens apre-programmed web page by automatically performing a sequence ofkeystrokes.

USB CD Emulator Autorun Device

This device, when plugged into the USB port of a computer, automaticallyprovides input data equivalent to that taken from a computer CD drive.By storing autorun file data (i.e. by presenting an autorun.inf to theOS), a USB CD emulator autorun device can be used to automatically opena program or run a shell command. An example is a webkey which is a USBkey that stores a website address. When the webkey is connected to thecomputer's USB port, it automatically opens a pre-programmed web page.

Autorun Files

Autorun.inf is an instruction file associated with the Windows Autorunfunction. An autorun.inf file is a text-based configuration file storedon a CD that tells the operating system which operations to perform oninsertion of the CD; which executable to start, which icon to use, andso on.

3. Discussion of Related Art

There are many and varied tasks that can be initiated and content thatcan be accessed using a personal computer, either locally or remotelyvia a network. Current options for accessing these tasks or content aretypically performed by the user navigating through or interacting withthe PC operating system (OS) or a software application using genericinput apparatus such as a keyboard and mouse. These navigations andinteractions can be complex and lengthy, making them hard to remember;and they are often an abstract set of user actions that have no directrepresentational relationship to the task or content.

The typical options for accessing tasks or content on a PC using theGraphical User Interface (GUI) of the OS, as described above, presentseveral problems to the user; certain tasks are hard to remember,non-descriptive and non-portable. The user faces increased difficultywhen using a PC he is not familiar with, such as a friend's computer orone set up for multiple users, such as a computer in a public place, forexample an airport. Further, a non-computer-literate user (for example achild, an old person, or a technophobe) cannot be expected to managecomplex interactions to get to a task, such as navigating to a URL, butmay be quite happy to interact once they are there—they understand thevalue in the task, not the complicated process to get to it. An exampleof the problem stated above is:

A user is unable to access their web-mail easily, particularly a newsubscriber, because they have to remember a long sequence of actions,such as the correct website URL, their username and password. A typicalset of tasks for this function is too complex to be readily rememberedby a user—for example:

-   -   Select a text based menu item from a set of drop-down menus        within the OS to start a browser application;    -   Then type in a URL address in the form of a text string;    -   Navigate to the login page;    -   Enter a username and password.

A secondary problem that has been identified is that most interactiveperipheral hardware such as application-specific input devices usuallyrequires a second step after physically connecting to a computer, suchas installing a driver or software. So in cases whereapplication-specific input devices have been created, they are oftencomplicated to set up and are not very portable—being unable to operatewith computers that do not have the required drivers or software.

Existing solutions that relate to the problems outlined above are:

-   -   Compact Disks (CD) with autorun files (for example, a CD        business card) that automatically launches an application or        setup wizard on the CD    -   “Hotkeys”, such as those found on certain ‘Logitech’ USB        keyboards or other PC peripherals, that can perform a series of        tasks or actions from a single key press.    -   Programmable Keyboard-Macro devices that can be user-programmed        with key sequences for example, PI Engineering's X-Keys range of        products (refer to U.S. Pat. No. 4,964,075).    -   USB mass storage devices with specific files or software        preinstalled, (such software needing to be manually selected and        run by an operator) offering physical and portable access to        predefined, or user-defined content. It is also possible to        include an ‘autorun’ file on a USB drive: a user typically plugs        a USB drive into a PC and the USB automatically generates data        that emulates the operation of a CD. But it is possible to block        this kind of CD emulation at the operating system level (and for        security reasons, e.g. reducing the risk of viral infection,        blocking could become increasingly common).

SUMMARY OF THE INVENTION

The invention is a portable, application-specific USB autorun deviceoperable to communicate with a computer terminal such that, followingconnection to the terminal, the device automatically initialises orpresents itself as a known type of device and then automatically sendsto the terminal a sequence of data, the data complying with a standardprotocol, that sequence of data automatically causing content to beaccessed or a task to be initiated;

wherein the device (i) includes a standardised USB module that includesa USB microcontroller, the standardised module being designed to beattached to or embedded in multiple types of different, applicationspecific packages but (ii) excludes mass memory storage for applicationsor end-user data.

In one implementation, the first predefined sequence of data arekeycodes, the keycodes complying with the human interface device (HID)keyboard standard protocol.

Alternatively, the device can automatically initialise or present itselfas a CD drive.

The USB autorun module can, in one implementation, be a USB IC module.In another implementation, it can be a USB Integrated Circuit Cardmodule.

Other implementation features are:

The data automatically sent from the device to the terminal causes a URLto be sent by that terminal to open a specific website address. A uniqueuser ID and password (or passcode) can be appended to the URL and passedas parameters to a web server, so that the user can be identified.

The physical shape or marking of the packaging or housing of the devicerepresents or is associated with the single application that the deviceperform. The packaging or housing is small enough to be held in a handand readily inserted into a female USB socket on the terminal.

The device is application-specific USB autorun device because it isdesigned for a single application; we will give a large number ofexamples of applications in this specification.

An implementation of the invention brings a number of important benefitsto the user:

1. The user has a physically descriptive object that represents thesingle, specific task or process that is initiated or implemented by theHID keycodes.2. The user no longer needs to remember or learn the complex actionsthat need to be performed in order to navigate to and run the content orcarry out the task/process—he simply connects the device to the PC.3. The user can initiate or access the task/process from any personalcomputer terminal running common Operating System software, since thedevice does not require unique software or drivers because it autoruns.

Because the device has no costly mass memory, it is far cheaper tomanufacture than, for example, conventional USB based memory keys, whichtypically have between 64 MB to 1 GB of Flash memory. Because a singlemodule can be used for a large variety of different applications, thatalso means that unit costs can be far lower than if the module werecustom designed for a specific application.

Furthermore, where HID keyboard emulation is used, there is no risk ofthe operating system blocking operation, as may happen with conventionalUSB devices that emulate CDs.

The terminal could be, as noted above, a conventional PC (i.e. personalcomputer, including Apple Macintosh computer) but also a personaldigital assistant (PDA), laptop computer, gaming console, portablegaming device, mobile telephone, smartphone, communicator, wirelessinformation device, web browsing device, portable navigation device andindeed any other kind of electronic information terminal.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is examples of USB autorun devices in a card format, and theirconstruction.

FIG. 2 is an example of a USB autorun device with keypad for secure use.

FIG. 3 is an example of a USB autorun device with fingerprintrecognition for secure use.

FIG. 4 is an example of a USB autorun device used to access a usercustomised or personalised website i.e. a portable cookie.

FIG. 5 is an example of a USB autorun device used as smartstationary/paperclip: Link-Its.

FIG. 6 is an example of a USB autorun device used as a smartproduct/clothes tag.

FIG. 7 is an example of a USB autorun device used as a smart purchasereceipt/ticket.

FIG. 8 is an example of a USB autorun device used as a giftvoucher/token.

FIG. 9 is an example of a USB autorun device used to access a user'sweb-mail.

FIG. 10 is an example of a USB autorun device used to access a user'sonline photo collection (e.g. flickr).

FIG. 11 is an example of a USB autorun device used to access a user'sarea on a blog or community site (e.g. blogger, myspace).

FIG. 12 is an example of a USB autorun device used to access amulti-user collaboration tool.

FIG. 13 is an example of a USB autorun device used as an Avatar and userID (e.g. for IM service).

FIG. 14 is an example of a USB autorun device used as an internet radio(or radio station).

FIG. 15 is an example of a USB autorun device used as a smart in-storeproduct tag.

FIG. 16 is an example of a USB autorun device used as a loyalty card.

FIG. 17 is an example of a USB autorun device used for a food deliveryservice.

FIG. 18 is an example of a USB autorun device used to access a secureweb site.

FIG. 19 is an example of a USB autorun device used to access a Taxiservice.

FIG. 20 is an example of a USB autorun device as a Toy.

FIG. 21 is an example of a USB autorun device as an intelligent businesscard.

FIG. 22 shows intelligent business cards being automatically stored inthe Googledex—with interactive cards that click through to application.

FIG. 23 shows parts of FIG. 22 in more detail.

FIG. 24 is an example of a USB autorun device as an internet shoppingcoupon enabler.

FIG. 25 shows examples of shopping coupons, which could be supplied by aUSB autorun device as an internet shopping coupon enabler.

FIG. 26 is an example of a computer screen generated by a USB autorundevice as an automatic parcel/shipment tracking key “AUTOTRACK KEY”(also includes “auto call-back key” concept).

FIG. 27 is an example of a USB autorun device as an online credit card.

FIG. 28 is an example of a USB autorun device as an online Travel Card.

FIG. 29 is an example of a USB autorun device as fast process to makepurchases online. (“ZERO CLICK” patent or “ONE PUSH” patent or“AUTO-CART” patent or “AUTO FILL” or “PAYFAST” patent concept).

FIG. 30 is an example of a USB autorun device as method of paymentonline.

FIG. 31 is a schematic example of a USB autorun device as key tofacilitate digital rights management (DRM) (for purchase of and use ofsoftware, audio, video and print products).

FIG. 32 are example of DVD/book/music club key and subscription serviceswhich may be accessed using a USB autorun device.

FIG. 33 is an example of a USB autorun device in shape of a casino chipfor gambling, gaming, or casino related applications.

FIG. 34 is an example of a USB autorun device incorporating a feature toauto-launch multiple URLs.

FIG. 35 is an example of a USB autorun device used for a productpromotion.

FIG. 36 shows a diagram of the processes involved in a USB autorundevice using one-time-only data.

FIG. 37 is an example of an embodiment of the invention for theapplication as a USB web-mail key

FIG. 38 is a block diagram showing the functional components ofapparatus 102 of FIG. 1 in more detail.

FIG. 39 is a flow diagram showing the general sequence of events thatoccurs when apparatus 102 of FIG. 37 is connected to a PC so that apre-programmed action is performed.

FIG. 40 shows an embodiment of the apparatus of the invention.

FIG. 41 is a block diagram showing the functional components of theapparatus 401 of FIG. 40.

FIG. 42 is a flow diagram showing the general sequence of events thatoccurs when apparatus 401 of FIG. 40 is connected to a PC

FIG. 43 shows a toy which, when connected to a computer, opens aninternet page containing the next episode of a web comic story.

FIG. 44 shows an “etch-a-sketch” style toy which, when connected to acomputer, opens a standard drawing application and enables the user tocreate drawings using a simple interface on the toy.

FIG. 45 shows a USB storage apparatus which, when connected to acomputer, automatically opens a file stored within memory held on theapparatus itself.

DETAILED DESCRIPTION

An implementation of the present invention is called the ‘link-it’. The‘link-it’ is a small USB device that automatically runs a task orcontent on a computer when plugged in. In its simplest form, it links aphysical object directly to web content by automatically opening a URLsuch as a website address. The product removes huge barriers by linkingthe user directly to web content simply by plugging an object into thecomputer, using USB as the PC connection with which most users arefamiliar. As well as solving the key issue of accessibility, the‘link-it’ offers many other features including identification,authentication and security, CRM tracking and physical interactivity.

The USB ‘link-it’ can be manufactured in volume for less than US $1.This makes the product a powerful low cost marketing and loyalty productthat can be used in a number of vertical markets as a marketing devicethat can be given to users to provide easy access to a site and increaseuser loyalty.

The most widely used product that has turned the USB connection into acommon user interface similar to the keyboard or mouse is the USB memorystick. Inevitably the link-it will be compared with this product. Theperceived value of a USB memory stick is between $15 and $50. This priceis driven almost entirely by the price of memory—the link-it is not amemory product and can therefore be made at a fraction of the cost,initially around $1.

The key technology features of the ‘link-it’ are:

Autorun

Identification

Authentication and security

Tracking

Input and Output

System Integration

Autorun (Direct URL Access)

When a ‘link-it’ is inserted into a PC it automatically opens, or‘autoruns’, a URL which links the user to web content. There are twoautorun techniques that can be implemented in the ‘link it’ USB device;USB HID keyboard emulation (USBHK) and USB CD drive emulation (USBCD).In the USBHK implementation the device appears to the PC as a standardplug ‘n’ play keyboard. On connection, the device automatically sends aseries of keyboard commands to open the destination URL (e.g.http://www.amazon.co.uk). The website will then be displayed to the userin a web browser. The USBHK implementation has some advantages over theUSBCD implementation, particularly as it offers continued input andoutput between the website and the device and is not blocked byMicrosoft Vista. In the USBCD implementation the device appears to thePC as a standard plug ‘n’ play CD drive containing an autorun file (e.g.‘autorun.inf’). On connection, the autorun file executes andautomatically opens the destination URL (e.g. http://www.amazon.co.uk).The website will then be displayed to the user in a web browser.However, USBCD is incompatible with Microsoft Vista.

Identification

Data can be passed to a website through a URL and because each devicecan be programmed with a unique ID number, like a serial number, each‘link-it’ product can be identified by the website's server. If userinformation for a device is also held by the website then the ‘link-it’can be used to identify a user too. A ‘link-it’ with a unique ID numberwould thus act a bit like a permanent and portable cookie. Whenever the‘link-it’ is connected to a computer it autoruns and opens an internetURL with the ID number appended and passed as a parameter to the webserver (e.g. http://www.amazon.com/welcome.cgi?userid=1234)

The server would receive the passed ID number and look up the user in adatabase. A customised web page would be sent back to the browser. Forexample, the page might say, “Welcome back, John Smith!” and show thelast items the user browsed. Such identification could also beimplemented using an intermediary re-direct server that would verify theID number and redirect to the correct web page for that ID. In this casethe company would not need to change its system.

Authentication and Security

An additional level of security would be implemented by including aone-time-only passcode

generator in the device; thus appending a unique passcode to the URLeach time the ‘link-it’ is connected to a computer. This could be usedif authentication or user login is required by a web service, such asauthorising a music download or logging in to web-mail or an onlinestore. Whenever the ‘link-it’ is connected to a computer it autoruns andopens an internet URL with an ID number and OTO passcode appended andpassed as parameters to the web server. The server would use the ID tolook up the sequence of numbers for that ID and identify the nextexpected passcode. If they match it securely links the user to theappropriate page. This would be invisible to the user. Such a systemwould prevent the URL from being reproduced and would ensure the webservice could only be accessed using the device. An example sequence ofgenerated URLs might be:

1stconnection=https://www.amazon.com/login.cgi?userid=1234&passcode=2906

2^(nd)connection=https://www.amazon.com/login.cgi?userid=1234&passcode=5789

3^(rd)connection=https://www.amazon.com/login.cgi?userid=1234&passcode=8631

etc. . . .

This level of security could also be implemented using an intermediaryre-direct SSL server that would verify the user ID and OTO passcode andredirect to the correct web page for that user. In this case the companywould not need to change its system and the user login URL would not bevisible or accessible at any time. For example:

https://link-its.com/rd.php?ucode=1234&pcode=0467 might re-direct to . ..

https://www.amazon.com/login.cgi?user=j.smith&password=midas55

Tracking

The ‘link-it’ can be tracked from initial use through to repeatedinteraction with a company's web content. It therefore offers newopportunities for companies to evaluate the success of their onlineservices and enhance their CRM systems. To track the use of the‘link-it’, the URL needs to contain something which identifies it asbeing from the ‘link-it’. This can be done in several ways, but mostwill use some form of identification as described above. Here are a fewexample scenario.

1. Identification—Logged by Company Using ID Number

A unique ID stored on the link-it is sent as part of the URL. This isreceived by the company's server and the use of it is logged, the useris sent the appropriate page. The logs can be used to track usage of thelink-it and the company could calculate its relationship to successfuluser transactions. Revenue could be based on successful transactions bychecking against a log of the time, date and amount for eachtransaction.

2. Identification—Logged by Company Using Cookie

To enable easy integration with a company's system, the link-it wouldstore and send an existing identification format e.g. a cookie. Manywebsites retrieve an ID from a cookie on the user's PC to identify theuser. The link-it could send the cookie without being constrained to aspecific PC. To track the use of the link-it the cookie must beidentifiable as coming from the link-it and not a cookie on the PC. Thiswould not matter if revenue came from introducing new users irrespectiveof their later method of access. However with minimal changes to thecompanies system, it may be possible to identify a ‘link-it originated’cookie if the server could identify that it hadn't made a request forthat cookie.

3. Identification—Logged and Redirected by Intermediary Server

The link-it would autorun a URL, with an ID number appended, which wouldgo to an intermediary server. The server would log the ID and redirectto the appropriate page. This is also a way to log the use of link-its,and for users to access the correct page for their specific ID, withoutchanging the companies user ID format. This would be invisible to theuser and very easy to log. No significant changes should be needed tothe company's system.

Input and Output (Physical Interactivity)

Various forms of input and output could be integrated into a ‘link-it’product, from simple LEDs to low-cost actuators. Depending on theclient's needs, designs could be created that enable a greater or lesserdegree of interactivity with the product. For example, an Amazon‘link-it’ may have a ‘buy’ button that would move an item into theuser's basket; or a Disney toy may have articulated arms and legs thatmove in time with music from a website. Input and output on the‘link-it’ would be achieved with common sensors and actuators, whileinput and output between the ‘link-it’ and the website would be achievedusing the HID keyboard interface. The device would send keyboardcommands to the browser to trigger different website events and thewebsite would send keyboard commands to the device to cause the productto behave in some way.

Communication between the website and the ‘link-it’ would offer new andexciting interactive possibilities.

System Integration

An important feature of the ‘link-it’ technology is that it can beeasily integrated with a customer's existing back-end system. Whetherlinking to a simple website address, passing a ‘link-it’ ID to a server,or integrating with an existing cookie system the ‘link-it’ shouldrequire few changes or additions to the customer's website.

For more advanced market applications such as those that requireauthentication, and where back-end changes may initially causecomplications, an intermediary server could be used to re-direct the‘link-it’ to the destination web page. The re-direct server could behosted by the customer or be offered as an external service.

Re-Direct Server Details

The server application manages a database of client URLs and perform aredirecting function. It will receive URLs (which will include an IDnumber) from USB devices and redirect to client URLs. Its main functionwill be to manage the connections between the USB device URLs and theassociated client URLs. It will also include ways of adding/amending tothe database as well as interfaces for viewing information about thedata, such as use statistics. The server application will manage theredirecting process between a USB device URL and the end client URL. Itwill run on a server and will integrate with a database containing allof the information necessary to perform the redirects. The ServerApplication also includes data capture so that tracking and statisticscan be enabled.

For each end client URL there will be a set of information in thedatabase relating to a client, a job, and the number of productsassociated with that job. Along with this information, there will be afurther set of data relating to the batches of devices, including theirbatch codes and ID numbers. There may also be other information stored,such as passwords, which might be used for additional services such asweb portals for viewing information relating to the use of the device.

Table 1.1 shows the client, job and destination URL information neededin the database. The example given here shows two separate campaigns orjobs for the client Lexus. Each job has a unique reference and adestination URL. Batches of products can then be requested within thatjob reference.

TABLE 1.1 Job destination url Job Job End-client Job (including optionalcgi Job start id batch batch reference reference path) (optional) numbersize LEXUS LSH08 http://www.lexus.com/models/LSh/ 1 5000 2 10000 LX07http://www.lexus.com/models/LX/trk.cgi?id= 1001 1 10000 2 15000

The job destination URL may include an optional CGI path. This could beused by a client to receive device ID numbers. If a CGI path isspecified then a job start ID will need to be supplied. The start IDwill be the ID passed to the client URL by the first device in that job.All subsequent devices will pass an ID number incrementing from thisstart ID.

The information shown above in Table 1.1 is related to the client andjob. Table 1.2 shows further data associated to the client jobs but thistime the data relates to the actual batches of Visible Computingdevices, and includes the batch codes and device ID numbers.

TABLE 1.2 (continued from Table 1.1) JOB JOB JOB BATCH BATCH BATCH BATCHPASS- BATCH BATCH START QUANTI- NUMBER SIZE WORD NUMBER CODE ID TY 15000 default 1 AX12 1 5000 2 10000 2 U894 1 5000 3 19KJ 1 5000 1 10000default 1 GH3E 1 5000 2 S3DF 1 5000 2 15000 3 S3DF 1 5000 4 T74X 1 50005 3D5T 1 5000

Table 1.3 shows the final URLs stored in the devices.

TABLE 1.3 (continued from Table 1.2) BATCH BATCH END URL BATCH STARTBATCH BATCH START URL (STORED IN USB CODE ID QUANTITY (STORED IN USBDEVICE) DEVICE) AX12 1 5000 http://vcgw.net/AX12/trk.cgi?id=000001http://vcgw.net/AX12/trk.cgi?id=001388 U894 1 5000http://vcgw.net/U894/trk.cgi?id=000001http://vcgw.net/U894/trk.cgi?id=001388 19KJ 1 5000http://vcgw.net/19KJ/trk.cgi?id=000001http://vcgw.net/19KJ/trk.cgi?id=001388 GH3E 1 5000http://vcgw.net/GH3E/trk.cgi?id=000001http://vcgw.net/GH3E/trk.cgi?id=001388 S3DF 1 5000http://vcgw.net/S3DF/trk.cgi?id=000001http://vcgw.net/S3DF/trk.cgi?id=001388 S3DF 1 5000http://vcgw.net/S3DF/trk.cgi?id=000001http://vcgw.net/S3DF/trk.cgi?id=001388 T74X 1 5000http://vcgw.net/T74X/trk.cgi?id=000001http://vcgw.net/T74X/trk.cgi?id=001388 3D5T 1 5000http://vcgw.net/3D5T/trk.cgi?id=000001http://vcgw.net/3D5T/trk.cgi?id=001388

So in practice:

1. A user inserts a device which auto-launches a URL such ashttp://vcgw.net/GH3E/trk.cgi?id=000001

2. The Visible Computing server application would receive the batch codeand ID number and use them to search the database

3. The server application would find the Job Reference and theassociated Destination URL in the database. It would also find whetheror not to pass an ID number to the Destination URL.

4. The server application would then redirect to the Destination URL andthe web page would load in the user's browser.

Product Variants

The manufacture will be undertaken in three phases that cover threeplanned variants. These phases are:

Phase 1

The aim of phase 1 is to bring a product to market in the shortestpossible time and at the lowest cost. To achieve this we use a productthat offers basic URL linking and identification. The USB module withinthis product is re-packaged for different applications and markets (e.g.assembled into new plastic mouldings).

Phase 2

The aim of phase 2 is to develop the technology toward a design that canbetter support a wide range of applications, has an improved mechanicaldesign and has a cost reduction over phase 1. Key to achieving thisphase is a low-cost, single USB IC solution. A USB module, not muchlarger than a USB connector, is based around this IC. This new designoffers extended functionality, beyond URL linking and identification,such as OTO passcode security and device I/O.

The USB module would be attached-to or embedded-in different packagesfor different applications and markets (e.g. attached to print, insertedinto a plastic moulding or overmoulded as a USB plug on a cabledproduct).

Phase 3

The aim of phase 3 is to evolve the technology toward a smart cardformat (ICC) which will further broaden the range of possibleapplications and markets while at the same time creating further costreductions and enabling high volume production. A low-cost USB cardmodule is inserted into the standard card manufacturing process. Thecard format would offer an opportunity to create low-cost end productsusing just printing and die-cutting techniques, while also producing acomponent design that could be attached-to or embedded-in differentpackages for different applications and markets.

Detailed Operation of the Device

The apparatus initiates/accesses a task or content by automaticallyperforming a pre-programmed action whenever the user connects theapparatus to the PC. Alternatively, the apparatus can perform the actionby limited interaction with the user—requiring a two-step sequence. Inthis alternative embodiment, the user connects the apparatus to a PC,thus initiating a pre-programmed sequence of actions; and later pressesa button on the apparatus to initiate a separate pre-programmed oralternatively user-programmed sequence.

In either event, the apparatus emulates a HID keyboard device and sendskeycodes complying with the HID protocol to the PC. The Universal SerialBus (USB) human interface device (HID) is a device class definition ofUSB devices. This device class consists of human interface devices suchas computer keyboards, computer mice, game controllers, and alphanumericdisplay devices. The USB HID protocol is defined in a number ofdocuments provided by the USB Implementers Forum (USB-IF) Device WorkingGroup. The primary document used to describe the USB HID class is theDevice Class Definition for HID 1.11, available from:

http://www.usb.org/developers/devclass_docs/HID1_11.pdf.

The task or content is either accessed locally on the PC (for example,open a new email window using the PC's default email application) oraccessed remotely over a network (for example, stream an audio file overthe internet from a remote server, via a unique reference or URL).

In the preferred embodiment, the pre-programmed sequence of actionsinitiating a task or accessing content is made up of a series ofsimulated user-keyboard events or keystrokes. These are sent as HIDprotocol compliant keycodes in a sequence from the apparatus to the PC.The action either inputs directly to the PC's operating system (forexample, to open a URL using internet explorer) and/or controls aseparate software application (for example, opening and initiatingplayback of a network audio file from within windows media player) orperforms data-entry functions (for example, entering a text string intoa field on a form).

In a preferred embodiment, when the apparatus is connected to a PC it‘initialises’, (e.g. emulates, simulates, presents itself or enumerates)as a standard ‘plug and play’ HID keyboard. After starting up correctlyand establishing a connection, the apparatus sends a timed sequence ofkeycodes, simulating a specific sequence of (normally user-generated)keystrokes used to access the given task or content by a methoddetermined by the operating system or application. The sequence ofkeycodes is acted upon by the PC operating system (or application) andthe task is thus initiated or content accessed.

In a preferred embodiment, the method determined by the operating systemwould be a Command Line Interface built into the Operating System (OS)and into which commands can be entered in the form of text (that is, asequence of typed characters) or a similar standard feature of the OSthat enables direct access to programs, files, network paths andinternet URLs via text based commands. On the Windows operating system,the Windows Run box is an example of this type of interface and isaccessed by a sequence of keystrokes comprising Winkey+R. Therefore, ina preferred embodiment, the initial sequence of keycodes sent by theapparatus would be those for ‘Winkey’ and ‘R’ key; this initial sequencebeing followed by a subsequent sequence of keycodes that would beentered into the Run box and which would initiate the task or access thecontent.

The method determined by the application would differ and would bedependent on the application but would also comprise a sequence ofkeycodes. The sequence of keycodes would be recognised by theapplication, which would perform the associated task or process.

In some embodiments the apparatus initialises to simulate more than oneUSB interface, for example, both as a human input device profile (HID)keyboard and a HID mouse. In these cases the keyboard interface is usedto access the task or content; after which a combination of the keyboardinterface profile and additional interface profiles will be used tocontrol or interact with the task or content. For example, an‘etch-a-sketch’ style drawing game/toy transmits keycodes, causing theoperating system (OS) to open a drawing application such as MicrosoftPaint; subsequently mouse events are transmitted from the apparatus,causing drawing actions within the application.

Thus the apparatus takes advantage of inbuilt components of commonlyused operating systems, such components effectively comprisingpre-installed driver applications with limited functionality. Becausecertain profiles such as the HID profiles mentioned above conform toagreed standards for communication, the apparatus, by communicating witha PC only according to the agreed standard, functions properly on a widerange of available PCs, even when the PCs have different operatingsystem software such as MacOS or Windows.

Some examples of additional USB interfaces that use such standard systemdrivers are: pointer, mouse, joystick, gamepad, keyboard (HID); Audio;Mass Storage.

As an enhancement in some embodiments a basic form of bi-directionalcommunication may be achieved as follows: When the apparatus initialisesas a HID keyboard, the user strikes a ‘modifier’ or locking key such asNUMLOCK and/or CAPSLOCK and/or SCROLLLOCK and/or KANALOCK on their PCkeyboard. When these keys are pressed, data is sent from the PC to thekeyboard indicating the state of these keys; this data is typically usedto turn on/off LEDs on the keyboard. This data is normally sent to allkeyboards connected to the PC; therefore if a user hits one such key ontheir PC keyboard, data is typically sent to the apparatus also. Thedata thus received from the PC causes the apparatus to perform anaction. For example, the user presses NUMLOCK on their PC keyboard and asuperhero toy connected to the PC initiates an animated sequence (thebody parts of the toy start to move).

Software can also generate Locking Key events (i.e. software cansimulate the pressing of a Locking Key). Therefore software cancommunicate to the apparatus using this method, without any userinteraction needed. For example, a java applet in a web page couldcommunicate with a superhero toy connected to the PC, initiating ananimated sequence (the body parts of the toy start to move).

The apparatus connects to the PC using the Universal Serial Bus (USB)connection and protocol. USB is currently the most appropriateconnection and communication system for the apparatus since it iscommonly available, normally physically accessible and because itrequires no user set-up when simulating a ‘plug and play’ HID device.The USB port is a familiar, common and easy-to-use connection point towhich HID devices can be connected without the need of driverinstallation. Alternatively, the apparatus can connect using a wirelessprotocol such as Bluetooth or Zigbee but these methods currently imposecertain limitations on the portability of the system because of thesecurity inherent in these systems.

In a wireless embodiment, the apparatus includes both a USB connectionand a wireless connection; the apparatus is first connected physicallyto the PC by the USB connection, initiating transmission of a sequenceof keycodes that performs a ‘pairing’ operation between the apparatusand the PC; thus providing clearance for subsequent automatic wirelesscommunication between the apparatus and the particular PC. Upon suchsubsequent wireless communication, the apparatus performs in a similarway to the embodiments described having physical connections. Forexample, by transmitting via the commonly available Bluetooth HIDprofile (instead of the USB HID profile) in order to simulate keystrokesby transmitting keycodes.

Because of the low-cost modular system used in the present invention, itmay very readily and rapidly be applied to many alternativeconfigurations, and used in many varied applications. Some examplesinclude:

Device 1 (USB Autorun Device in a Card Format)

This device type is show in FIG. 1. A low-cost, mass produced,componentized form-factor for the USB autorun device would mean that thesystem could be broadly applied, from embedding into objects andattaching to print through to supplying finished printed and die-cutcards as an end product.

A card format device could be produced using the technologies andmanufacturing techniques used for the production of IC cards (ICC),commonly referred to as smart-cards or chip-cards. ICCs typicallyconsist of a plastic card substrate with an embedded integrated circuitmodule; the embedded module being a complete IC and contact plate.Examples of ICCs in use are SIM cards and credit cards.

A module suitable for use in a USB autorun device could be producedusing a USB microprocessor IC USB contacts, such as is shown in FIG. 1.

Device 2 (USB Autorun Device with Keypad for Secure Use)

For some applications, the USB autorun device is used to access aprivate or secure website or may pass user login information to aserver. In such cases, an additional level of security could be added byintegrating a keypad into the device, as shown for example in FIG. 2.

The keypad would be used to manually enter a PIN (personalidentification number). If the correct PIN is entered the device wouldautorun, opening the URL on the computer. Thus, the website or logincould only be accessed with the device in combination with the correctPIN.

Device 3 (USB Autorun Device with Fingerprint Recognition for SecureUse)

For some applications, the USB autorun device is used to access aprivate or secure website or may pass user login information to aserver. In such cases, an additional level of security could be added byintegrating a fingerprint scanner into the device, as shown for examplein FIG. 3.

The scanner would be used to read the user's fingerprint. If the correctfingerprint (e.g. matching data stored on the terminal (or even thedevice itself) is recognised the device would autorun, opening the URLon the computer. Thus, the website or login could only be accessed withthe device in combination with the user's unique fingerprint.

Device 4 (USB Autorun Device Used to Access a User Customised orPersonalised Website: Portable Cookie)

This device type is show in FIG. 4. An internet cookie is a text file ona computer that contains one or more pieces of information. A web serversends a cookie to the user's computer and the browser stores it. Thebrowser then returns the cookie to the server the next time the page isloaded. The most common use of a cookie is to store a user ID. Forexample, the cookie might contain the following string: ID=12340987

Amazon.com is an example of a site that uses internet cookies. When youorder from the Amazon site, you fill out a form with your name andaddress. Amazon assigns you an ID, stores your information with that IDin its database on its server, and sends the ID to your browser as acookie. Your browser stores the cookie on your computer's hard disk. Thenext time you go to Amazon, the ID is sent back to the server. Theserver looks you up by your ID and customises the web page it sends backto you. The page might say, “Welcome back, John Smith!”

However, internet cookies are stored on your computer's hard disk and soare only useful when you are using that specific computer. They can alsobe deleted.

A USB autorun device with a unique ID number would act as a permanentand portable cookie; an example is shown in FIG. 4. Whenever the USBautorun device is connected to a computer it autoruns and opens aninternet URL. The ID number could be appended to the URL and passed as aparameter to the web server. An example of the full URL might be:

http://www.amazon.com/welcome.cgi?userid=12340987

The server would receive the passed ID number and look up the user in adatabase. A customised web page would be sent back to the browser. Asbefore, the page might say, “Welcome back, John Smith!”

An ID number could be associated with an entry in the server database,containing the user's information, in two ways.

1. The user's information could be received and entered into thedatabase before the user obtains the USB autorun device (e.g. they aregiven or sent the device when making a purchase in a store or online).

2. The user could obtain a USB autorun device with a unique device IDthat is associated with an empty database entry. Thus, when the useruses the device for the first time the web page that loads would not becustomised. The user would then fill out a form with their name andaddress. The server database would then be updated; the device ID wouldnow be associated with the user's information. The next time the deviceis used, a customised web page would load.

Device 5 (USB Autorun Device Used as Smart Stationery/Paperclip:Link-its)

The USB autorun device could be applied as a form of smart stationery,whereby a physical object, such as a printed document, could have adevice temporarily attached to it that would autorun and open a URL whenconnected to a computer; an example is shown in FIG. 5. The URL couldlink to such things as a Word file on an Fit′ server, a web page, apresentation and so on. Examples of URLs that could be opened by thedevice are:

file://192.168.0.4/data/project_folder/agenda.doc

ftp://78.62.111.20/marketing/analysis_table.xls

http://www.visiblecomputing.com/aboutus.html

For example, when people share printed copies of a document they oftenwant to give the recipient a reference to the digital version of thedocument. This reference is often the location of a folder on a (localor network) computer or the URL for an FTP server location. Thereference is often given in writing or verbally. A USB autorun device,in the form of a smart paperclip for example, would allow the person togive a reference to the digital document in a more tangible andintuitive way. When the recipient of the document connects the smartpaperclip to the USB port of his computer, the device would autorun andopen the URL for the digital version of the document (e.g.file://192.168.0.4/data/project_folder/agenda.doc). The document wouldthen open on the recipient's computer. Thus, in use, a person receives aprinted document with a smart paperclip device attached, connects thedevice to the USB port of his computer and the digital version of thedocument automatically opens on his computer.

A user could ‘save’ a URL to a smart paperclip device in two ways:

1. Software on the users computer could be used to electronically writea user defined URL to the device, for example by sending it via ageneric HID interface (the device would be a composite device with oneUSB interface used for the autorun process and a second USB interfaceused to receive new URL data).

2. A web application could be used to associate a unique ID for thepaperclip device with a user defined URL (the association would bestored on a server database). The device would autorun the URL of theweb application with the device ID appended (e.g.http://www.link-its/services/weblinker.php?id=12340987). On firstconnection, the user would enter a URL using the web application. Onsubsequent connections of the device, the web application would redirectto the target URL.

Device 6 (USB Autorun Device Used as a Smart Product/Clothes Tag)

The USB autorun device could be applied as a smart tag attached to aproduct or item of clothing by a manufacturer (or reseller); an exampleis shown in FIG. 6. A product or item of clothing could have a devicetemporarily attached to it that would autorun and open a URL whenconnected to a computer. The URL could link to the manufacturer'swebsite, or an area of the site that specifically relates to theproduct/clothing or to a web service that the manufacturer wants topromote (e.g. electronic user-manuals, servicing/repair portals, relateddriver/software downloads, web games and experiences or onlinecommunities etc.)

For example, when a person purchases a branded product, such as Niketrainers, the manufacturer may want to encourage the customer to go totheir website; the aim being to increase the customer's awareness oftheir products or perhaps to involve them in some kind of branded onlineexperience, such as an online training tool. This is typically doneusing a written URL printed either on the products packaging or on aflyer. A USB autorun device, in the form of a smart product tag, wouldallow the manufacturer to give access to the online experience in a moretangible and intuitive way. When the customer connects the product tagto the USB port of his computer, the device would autorun and open theURL for the manufacturer's website or online experience, for example:

http://www.nike.com/europerunning/?ref=train_tool).

Thus, in use, a person buys a product, such as Nike trainers, with asmart tag attached; he detaches the tag and connects it to the USB portof his computer; whereupon a webpage automatically opens on hiscomputer, enabling him to interact with a branded online experience.

Device 7 (USB Autorun Device Used as a Smart Purchase Receipt/Ticket)

The USB autorun device could be applied as a smart receipt or ticketwhen buying a product, such as a car, or making some other kind ofpurchase, such as booking a holiday or flight. An example is shown inFIG. 7. At the point of sale the customer would be given or sent adevice that would autorun and open a URL when connected to a computer.An ID number would be appended to the URL and passed as a parameter to aweb server so that the receipt could be identified. The URL would linkdirectly to the seller's website (or an area of the site) that wouldgive specific information relating to the user's purchase, such as ordertracking information or after sales care, information and offers. Anexample of the full URL might be:

https://www.expedia.co.uk/holidays/track/agent.cgi?receiptid=12340987

For example, when a person purchases a holiday, they often want to checkvarious types of information relating to their holiday in the periodleading up to the departure date. They may want to view the hoteldetails, check flight numbers and departure times or find out about thelocal area. This is typically done using the travel agents website orcustomer service phone line, but can be a complicated process whentrying to find all of the information relating to their specificholiday. The travel agent may also want to encourage the user to visittheir website; the aim being to increase the customer's awareness ofoffers that relate to their holiday, such as car hire, or other holidaysthat may interest them in the future.

A USB autorun device, in the form of a smart purchase receipt, wouldallow the travel agent to give access to after sale information andoffers in a more tangible and intuitive way. The customer would obtainthe smart purchase receipt when purchasing the holiday. When thecustomer connects the smart purchase receipt to the USB port of hiscomputer, the device would autorun and open a URL with an ID numberappended. The URL would link directly to the travel agent's website andsimultaneously pass an ID number to the server so that the receipt couldbe identified. The server would receive the passed ID number and look upthe user in a database. A customised web page would be sent back to theuser's browser containing various information specifically relating tohis holiday, such as dates, departure times, hotel details, currentweather information, car hire offers and so on.

Thus, in use, a person purchases a holiday and subsequently receives asmart purchase receipt; he connects it to the USB port of his computer;whereupon a customised webpage automatically opens on his computer,enabling him to view information relating to his specific holidaybooking.

Device 8 (USB Autorun Device Used as a Gift Voucher/Token)

The USB autorun device could be applied as a gift voucher or token. Anexample is shown in FIG. 8. A voucher could be purchased that wouldautorun and open a URL when connected to a computer. The URL could linkto an online store where the voucher could be redeemed; items beingpurchased up to the value of the voucher. An ID number could be appendedto the URL and passed as a parameter to a web server so that the vouchercould be identified, verified and its use tracked. An example of thefull URL might be:

http://phobos.apple.com/WebObjects/MZStore.woa/wa/storeFront?id=12340987

The voucher could have various designs and offer numerous possibilitiesto create a gift that was graphically rich, if in the form of a card forinstance, or physically desirable.

For example, a person may wish to give a gift of digital media, such asmusic downloads, that are redeemable online. This is typically doneusing a unique code that is written in an email or on a printed voucher;the voucher code is given to the recipient and needs to be entered whenpurchasing from an online store. A USB autorun device, in the form of agift voucher or token, would allow the person to give a gift of digitalmedia in a more tangible way. When the recipient of the gift voucherconnects the device to the USB port of his computer, the device wouldautorun and open a URL with a voucher ID number appended. The URL wouldlink directly to the online store and simultaneously pass an ID numberto the online store server so that the voucher could be identified andverified. The online store would thus confirm that the voucher wasgenuine and determine the available credit that could be redeemed usingthe voucher.

An additional level of verification could be implemented if the deviceincluded a one-time-only passcode generator; thus appending a uniqueverification code (passcode) to the URL each time it is connected to acomputer. The online store server would know the expected verificationcodes for that voucher ID. This would prevent the URL from beingreproduced and would ensure the voucher value could only be redeemedusing the device. An example sequence of generated URLs might be:

-   -   http://phobos.apple.com/WebObjects/MZStore.woa/wa/storeFront?id=12340987&vcode=3245    -   http://phobos.apple.com/WebObjects/MZStore.woa/wa/storeFront?id=12340987&vcode=8375    -   http://phobos.apple.com/WebObjects/MZStore.woa/wa/storeFront?id=12340987&vcode=9026

Thus, in use, a person receives a smart gift voucher; he connects it tothe USB port of his computer; whereupon the webpage for an online storeautomatically opens on his computer, enabling him to purchase items upto the value of the voucher; the voucher having been automaticallyidentified and verified.

Device 9 (USB Autorun Device Used to Access a User's Web-Mail)

The USB autorun device could be applied as a portable web-mail key, usedto access a user's web-mail on any internet connected computer. Anexample is shown in FIG. 9. The web-mail key could be purchased from orgiven away free by a web-mail service provider. When connected to acomputer the device would autorun and open the URL of the web-mailservice. A unique user ID and password (or passcode) would be appendedto the URL and passed as parameters to the web-mail server, so that theuser could be identified and thus login to his personal web-mail. Anexample of the full URL might be:

http://mail.yahoo.com/login?user=johnsmith&pass=046756

For example, a person may wish to access their web-mail at home, at workor while travelling. This is typically done using a web based emailservice accessed via an internet browser; the user is required tonavigate to the login page of the web-mail service and enter their logininformation, such as a username and password. A USB autorun device, inthe form of a web-mail key, would allow the person to access theirweb-mail in a more direct, portable, tangible and intuitive way. Whenthe user connects the device to the USB port of any internet connectedcomputer, the device would autorun and open a URL with the user'susername (or usercode) and password (or passcode) appended. The URLwould link directly to the web-mail service and simultaneously pass theuser's information to the web-mail server so that the user could beidentified and their login authenticated. The web-mail server would thusaccept the login request and the user would gain access to theirweb-mail page or inbox page.

An additional level of security could be implemented if the deviceincluded a one-time-only passcode generator; thus appending a uniquepasscode to the URL each time it is connected to a computer. Theweb-mail server would know the expected sequence of passcodes for thatuser. This would prevent the URL from being reproduced and would ensurethe user's web-mail could only be accessed using the device. An examplesequence of generated URLs might be:

1: http://mail.yahoo.com/login?usercode=1234&passcode=0467

2: http://mail.yahoo.com/login?usercode=1234&passcode=5789

3: http://mail.yahoo.com/login?usercode=1234&passcode=8631

This level of security could also be implemented using a third partyre-direct SSL server that would verify a user ID and OTO passcode andredirect to the web-mail inbox for that user. Thus, the web-mail servicewould not need to change its system and the user login URL would not bevisible or accessible at any time. For example:

http://wmail.com/rd?ucode=1234&pcode=0467

http://mail.yahoo.com/login?user=j.smith&pass=midas

Thus, in use, a person carries a portable web-mail key device; heconnects it to the USB port of any internet connected computer;whereupon the inbox page of his web-mail service automatically opens onthe computer, enabling him to read, manage and send his emails; thedevice having passed login information to the web-mail server.

Device 10 (USB Autorun Device Used to Access a User's Online PhotoCollection (e.g. Flickr))

The USB autorun device could be applied as a portable key to access anonline photo management and sharing service, such as flickr.com. Anexample is shown in FIG. 10. The device could be purchased from or givenaway free by the service provider. When connected to a computer thedevice would autorun and open the URL of the photo management andsharing service. A unique user ID and password (or passcode) would beappended to the URL and passed as parameters to the server, so that theuser could be identified and thus login to their personal area of thewebsite to manage their photo collection. An example of the full URLmight be:

http://www.flickr.com/signin/flickr/login?user=johnsmith&pass=046756

For example, a person may wish to access and manage their personalonline photo collection at home, at work or while travelling. This istypically done using a web based application accessed via an internetbrowser; the user is required to navigate to the login page of theonline photo management service and enter their login information, suchas a username and password. A USB autorun device would allow the personto access their online photo collection in a more direct, tangible andintuitive way. When the user connects the device to the USB port of anyinternet connected computer, the device would autorun and open a URLwith the user's username (or usercode) and password (or passcode)appended. The URL would link directly to the online photo managementservice and simultaneously pass the user's information to the server sothat the user could be identified and their login authenticated. Theserver would thus accept the login request and the user would gainaccess to their personal photo collection; being able to manage andupload their photos.

Thus, in use, a person carries a portable device; he connects it to theUSB port of any internet connected computer; whereupon his personalonline photo collection automatically opens on the computer, enablinghim to manage, upload and print his photos; the device having passedlogin information to the server.

Further to this, a set of similar devices could be given to people withwhom the user wishes to share his photos. When the recipients connecttheir device to a computer the device would autorun and open a URLlinked to the user's public photo collection. An example of the full URLmight be:

http://www.flickr.com/photos/59326549@N00/

In the second case the devices may be physically customised in somewayso as to be appropriate as a gift (e.g. they may have one of the user'sphotos applied in print form).

Device 11 (USB Autorun Device Used to Access a User's Area on a Blog orCommunity Site (e.g. Blogger, Myspace))

The USB autorun device could be applied as a portable key to access ablog or community site, such as blogger or myspace. An example is shownin FIG. 11. The device could be purchased from or given away free by theservice provider. When connected to a computer the device would autorunand open the URL of the site. A unique user ID and password (orpasscode) would be appended to the URL and passed as parameters to theserver, so that the user could be identified and thus login to theirpersonal area of the website to update their blog or community site. Anexample of the full URL might be:

http://www.myspace.com/signin/login?user=johnsmith&pass=046756

For example, a person may wish to access and manage their personal blogor space on a community site at home, at work or while travelling. Thisis typically done using a web based application accessed via an internetbrowser; the user is required to navigate to the login page of the blogor community site and enter their login information, such as a usernameand password. A USB autorun device would allow the person to accesstheir blog or community site in a more direct, tangible and intuitiveway. When the user connects the device to the USB port of any internetconnected computer, the device would autorun and open a URL with theuser's username (or usercode) and password (or passcode) appended. TheURL would link directly to the blog or community site and simultaneouslypass the user's information to the server so that the user could beidentified and their login authenticated. The server would thus acceptthe login request and the user would gain access to their blog orcommunity site; being able to manage and update the site.

Thus, in use, a person carries a portable device; he connects it to theUSB port of any internet connected computer; whereupon his personal blogor community site automatically opens on the computer, enabling him tomanage and update the site; the device having passed login informationto the server.

Further to this, a set of similar devices could be given to people withwhom the user wishes to share his blog or community site. When therecipients connect their device to a computer the device would autorunand open a URL linked to the user's public area of the blog or communitysite. An example of the full URL might be:

http://profile.myspace.com/index.cfm?fuseaction=user.viewProfile&friendID=87223620

In the second case the devices may be physically customised in somewayso as to be appropriate as a gift.

Device 12 (USB Autorun Device Used to Access a Multi-User CollaborationTool)

This device type is show in FIG. 12. Collaboration tools can includeinstant messaging and discussion forums, to-do lists, audio and videoconferencing, group calendars and address books, ways of sharing files,room booking, applications that more than one person can work in at once(collaborative whiteboards) and presentation systems. These tools can beshared amongst a user group so that they can collaborate on projectsprivately across the internet. These tools can either be softwaresolutions or web-based solutions.

The USB autorun device could be applied as a portable key to access acollaboration tool, such as Basecamp (see http://www.basecamphq.com). Anexample is shown in FIG. 12. When connected to a computer the devicewould autorun and open the URL of the web-based collaboration tool. Aunique user ID and password (or passcode) would be appended to the URLand passed as parameters to the server, so that the user could beidentified and thus automatically login as a member of the user group.They would then have access to a set of shared tools, such as calendars,messaging, whiteboards etc. for a particular group project. An exampleof the full URL might be:

http://hitechltd.grouphub.com/login?user=johnsmith&pass=046756

An additional level of verification could be implemented if the deviceincluded a one-time-only passcode generator; thus appending a uniquepasscode to the URL each time it is connected to a computer. The serverwould know the expected passcodes codes for that device. This wouldprevent the URL from being reproduced and would ensure that the groupcollaboration tool could only be accessed using the device. An examplesequence of generated URLs might be:

1=http://hitechltd.grouphub.com/login?user=johnsmith&pass=3245

2=http://hitechltd.grouphub.com/login?user=johnsmith&pass=8375

3=http://hitechltd.grouphub.com/login?user=johnsmith&pass=9026

For example, a person may wish to access a collaboration tool for agroup project, while at work, at home, or while travelling. This istypically done using a web based application accessed via an internetbrowser; the user is required to navigate to the login page of theonline collaboration tool for their user group and enter their logininformation, such as a username and password. A USB autorun device wouldallow the person to access the online collaboration tool in a moredirect, tangible and intuitive way. When the user connects the device tothe USB port of any internet connected computer, the device wouldautorun and open a URL with the user's username (or usercode) andpassword (or passcode) appended. The URL would link directly to theonline collaboration tool for the specific user group and simultaneouslypass the user's information to the server so that the user could beidentified and their login authenticated. The server would thus acceptthe login request and the user would gain access to the groupcollaboration tool; being able to add messages, edit to-do lists, makeentries into a shared calendar and so on—all of which could be viewed bythe other members of the user group.

Thus, in use, a person carries a portable device; he connects it to theUSB port of any internet connected computer; whereupon he isautomatically logged into an online project collaboration tool for hisuser group via a browser, enabling him to share project information withthe other group members privately over the internet; the other membershaving similar devices to log them into the project collaboration toolalso.

Device 13 (USB Autorun Device Used as an Avatar and User ID (e.g. for IMService))

The USB autorun device could be applied as portable physical avatar, forexample as a user's Instant Messenger alias. An example is shown in FIG.13. When connected to a computer the device would autorun and open theURL of an online Instant Messaging service, such as MSN Web Messenger. Aunique user ID and passcode would be appended to the URL and passed asparameters to the server, so that the user could be identified and thuslogin to the service; the user would thus be online, available to chatand his avatar would be displayed indicating that he is online. Anexample of the full URL might be:

http://webmessenger.msn.com/default.aspx?user=12340987&pass=046756

Thus, in use, a person carries a portable device; he connects it to theUSB port of any internet connected computer; whereupon he isautomatically logged into the Instant Messaging service and his avatardisplayed as online, enabling him to chat with friends; the devicehaving passed login information to the server.

Further to this, a set of similar devices could be given to people withwhom a user wishes to “chat”; either existing members of his “buddylist” or people he wishes to join his list. When a recipient connectsthe device to a computer the device would autorun and open the URL of anonline IM service, such as MSN Web Messenger. The user's ID would beappended to the URL and passed as a parameter to the server, so that theuser (“buddy”) could be identified. If the recipient was also a memberof the IM service, they would automatically go online so that they cansee the avatar of the user and whether they are online also. If therecipient was not a member of the service they would be directed to aweb page offering them the option to sign-up to the service. An exampleof the full URL might be:

http://webmessenger.msn.com/buddy.aspx?user=12340987

Thus, in use, a person receives a portable device from another IM user(or “buddy”); he connects it to the USB port of any internet connectedcomputer; whereupon he is automatically logged into the InstantMessaging service, the avatar of his “buddy” is displayed and he can seewhether they are online or not.

In the second case the device acts as “physical avatar”. If a userwanted to chat with one of their “buddies” they could select the device(probably in a card format) on which the buddy's avatar was printed andsimply connect it to a computer to chat with them. Thus the device is avisual and physical reminder of the buddy, as well as direct access tothe IM service.

Device 14 (USB Autorun Device Used as an Internet Radio (or RadioStation))

The USB autorun device could be applied as a portable internet radio orradio station, used to listen to live streamed radio on any internetconnected computer. An example is shown in FIG. 14. Such an internetradio could be either a promotional, branded item, as in the case of asingle radio station, or could be a more generic internet radio, beingmore product-like with access to any internet radio stream and havinguser presets. The internet radio could be purchased from a retailer,received with a paid subscription or given away free by an internetradio broadcaster.

In the case of an internet radio station, when connected to a computerthe device would autorun and open the URL of the internet radio station.The URL would link to a live audio stream that could either be playedwithin the browser or could automatically redirect to launch a softwaremedia player, such as Windows Media Player. Example URLs might be:

http://www.whatson.com/players/kiss/listen_live.shtml (plays in browser)

http://www.emapdigitalradio.com/emapdigitalradio/metafiles/kiss100.asx(plays in WMP)

In the case of a generic internet radio, when connected to a computerthe device would autorun and open the URL of an internet radio player. Aunique device ID (or subscription ID) would be appended to the URL andpassed as a parameter to the server, so that the device/subscriber couldbe identified. An example of the full URL might be:

-   -   http://launch.yahoo.com/launchcast/subscription/radio.asp        ?id=0467561209

An alternative version of a generic internet radio would not link to anonline radio player via a URL but instead would use internet radioplayer software stored internally on memory within the device. Thedevice would autorun and open the internal software. The user could thenuse the player to listen to internet radio.

For example, a person may wish to access their favourite internet radiostations at home, at work or while travelling. This is typically doneusing internet radio players accessed via an internet browser; the useris required to navigate to the various web pages of the radio stations.A USB autorun device would allow the person to access their favouriteinternet radio streams in a more direct, portable, tangible andintuitive way. When the user connects the device to the USB port of anyinternet connected computer, the device would autorun and open a URLwith a unique device ID (or subscription ID) appended. The URL wouldlink directly to the internet radio service and simultaneously pass theID to the server so that the device/subscriber could be identified and acustomised web page sent to the user's browser. The customised web pagecould for example display an internet radio player that wouldautomatically begin playing the last station to which he was listening;it could also include the user's personal list of favourite radiostation and a set of customised presets to quickly access his mostfrequently used stations. The internet radio service would store thiscustomised information with the device/subscriber ID in a database onits server; whenever the user uses the device and then customises theinternet radio in some way (e.g. changes a preset) the database would beupdated.

Thus, in use, a person carries a portable internet radio device; heconnects it to the USB port of any internet connected computer;whereupon a customised web page for the internet radio serviceautomatically opens on the computer, enabling him to listen to hispersonal favourite radio stations; the device and the internet radioboth appearing to be owned by and personal to the user.

Device 15 (USB Autorun Device Used as a Smart in-Store Product Tag)

The USB autorun device could be applied as an in-store product tag thatwould give direct access to online information relating to the product.An example is shown in FIG. 15. While browsing the products within aretail environment a customer would be able to take away a very low-costdevice that would autorun and open a URL when connected to a computer. Aproduct ID number would be appended to the URL and passed as a parameterto a web server so that the relevant product could be identified. TheURL would link directly to a page within the retailer's website thatwould give specific information relating to the product, such as price,ordering information, options and other related products. An example ofthe full URL might be:

http://www.heals.co.uk/bin/venda?productid=272428

For example, when a person is considering a purchase in a retailenvironment, they often want to make the final decision when they returnhome, perhaps after finding further information about the product. Theymay want to view options such as colour or the delivery time for aparticular product, while at home. This is typically done by thecustomer remembering which product they were interested in, perhaps byits name or model number, and then using the retailer's website whenthey are at home. This can be a difficult and complicated process whentrying to find information relating to the specific product of interest.The retailer may also want to encourage the customer to visit theirwebsite; the aim being to increase the customer's awareness of theironline retail presence, or other products that may interest them. A USBautorun device, in the form of a smart product tag, would allow thecustomer to take away from the retail environment direct access back tospecific information relating to a product, in a tangible and intuitiveway. The customer would take away the smart product tag when browsing aproduct. When he returns home and connects the smart product tag to theUSB port of his computer, the device would autorun and open a URL with aproduct ID number appended. The URL would link directly to theretailer's website and simultaneously pass the ID number to the serverso that the product could be identified. The server would receive thepassed ID number and look up the product in a database. A web page wouldbe sent back to the customer's browser containing various informationspecifically relating to the product of interest, such as price,options, delivery time and so on.

Thus, in use, a person takes away a smart product tag while browsing aproduct in a store; he returns home and connects it to the USB port ofhis computer; whereupon a webpage automatically opens on his computer,enabling him to view information relating to the specific product he wasinterested in.

Device 16 (USB Autorun Device Used as a Loyalty Card)

The USB autorun device could be applied as a portable loyalty card usedboth to access information relating to the customer's loyalty points(including options to redeem them at the retailer's online store orother stores) and as a way to collect loyalty points while shoppingonline. An example is shown in FIG. 16. The loyalty card could be givenaway free by a retailer and would be used to collect points both in theretail stores and when shopping online. When connected to a computer thedevice would autorun and open the URL of the retailer's website (onlinestore). A unique user ID (card ID) would be appended to the URL andpassed as a parameter to the server, so that the user could beidentified. An example of the full URL might be:

http://store.tesco.com/loyalty?userID=12340987

For example, a person may wish to check or redeem their loyalty pointsusing the internet or they may want to shop at the retailer's onlinestore and collect loyalty points, as is done when shopping in a realstore. A USB autorun device, in the form of a loyalty card, would allowthe person to do both of these things in a tangible and intuitive way.When the user connects the device to the USB port of any internetconnected computer, the device would autorun and open a URL with a userID (card ID) appended. The URL would link directly to the retailer'sonline store and simultaneously pass the user ID to the server so thatthe user (card) could be identified. The online store server would thusverify that the card was genuine and the user would be able to view theloyalty points credited to the card, be given options to redeem thepoints or could start shopping at the online store (any purchases madewould add points to the card; the card having been identified by theserver).

Thus, in use, a person carries a portable loyalty card device; heconnects it to the USB port of any internet connected computer;whereupon a web page for the retailer's online store automatically openson the computer, enabling him to check, redeem and collect (by shoppingat the online store) loyalty points; the device having passed a user IDto the server so that the card could be identified.

Device 17 (USB Autorun Device Used for a Food Delivery Service)

The USB auto-run device could be applied to ordering a take-away mealfor delivery. An example is shown in FIG. 17. The device can beintegrated into a promotional flyer as a flat component attached toprint that can be folded out or removed for use.

It can become a quick-order menu. When plugged in it launches a browserand opens the website. The customer can then select their meal from anonline menu and finally place the order. Payment is usually on delivery.

The fewest steps to order food are:

1. Plug in

2. Select food3. Place order

In order to achieve a three-stage interaction the device needs to knowthe following essential information:

1. Are you in a delivery area?2. The delivery address3. Order verification/customer contact

The amount of essential information that can be pre-linked to the devicedepends on how the customer obtained it.

Random distribution e.g. Newspaper or magazineLocal distribution e.g. Flyer through your post box or pick up at localrestaurant.Direct mailArrives with food

Random Distribution

The first time the device is used all essential information needs to beinput by the customer on the website e.g. postcode, house number, name,contact telephone. The second time the device is used (irrespective ofthe computer is being used) all the information obtained is in place,reducing the number of steps needed to place and order.

Local Distribution

The only difference to Random distribution is that the first time thedevice is used, the customer does not need to establish they are in adelivery area, they can be presented immediately with a menu. This isdone by pre-linked IDs on flyers to the database of restaurants beforedistribution.

Direct Mail

All the essential information is in place and linked to the flyer butthere maybe a need for further customer verification.

Arrives with Your Food

All essential information can already be in place and the device isready to use.

The device can be uniquely identified as part of the URL. This means itcan be recognised by the company's server allowing it to be linked tothe information known about the customer.

A USB autorun device used for food delivery would have the followingadvantages:

Tempting to use

New and novelLess likely to be thrown away than a generic paper flyerQuick to use and as easy as phone orderingDoes not require opening a browserDoes not require reading and writing a URLCan be recognised from any computer, doesn't require a ‘cookie’

The site might allow customers to speak directly to the take awaycompany by opening an audio call through the internet. This makes thecard feel like a quick way to make a free telephone call.

Device 18 (USB Autorun Device Used to Access a Secure Web Site)

A USB device which can provide access to a private website e.g. aprivate club or viewing video. An example is shown in FIG. 18. The URLcan not easily be saved or input via a keyboard. The USB device acts as‘web dongle’ and ensures that only the owner/s of USB device has access.

Typically access to a secure site is done through typing in a URLs andthen logging in by entering a password. Sometimes the URL is alsodeliberately difficult to find, stopping search engines finding it oraccidental visitors.

A USB auto-run device can be used as a key to a private site. Byinserting the USB key in to the computer a secure URL is delivered. Thesite does a security check on the data in the URL and if correct thesite is automatically opened. The site can not be accessed without thekey. The key is difficult to copy, limited to the physical number givenout and can be physically withdrawn or deactivated online.

There are many cases where restricted access to websites is needed, thisfalls into two groups:

Restricted access to only those that have paid for the service.

For example:

TV, Films and music

News and finance (Reuters, FT)

Clubs

Restricted access to private information e.g. stop others tampering withit (privacy).

For example:

Company shared ftp sites and administrative access to website.

Project and group working

Loyalty schemes, air miles

Personal & financial information

Where personal information is held and restricted logon is required e.g.Oyster card top-up, paying congestion charge, virgin trains booking,Tesco shopping etc.

Some advantages of using physical USB auto-run objects are:

it travels with you but is not dependent on your computer

it's perceived as having value

status symbol

collectors item

you can sell it

you can control its distribution

has a level of security—like a key

The amount of security needed is dependent on the intended use of thedevice and different applications need different levels of security.

Low Level or Basic:

Like having a complicated or obscure URL that you could never rememberor be able to write down e.g. ytd7875687iuf.com

Medium:

The device contains a password of some sort e.g. www.myclub.com?12368

High:

Very difficult to copy like a car key e.g. SHA1 encoding.

Typically the microprocessor in the device generates a new uniquesequence of numbers each time it is used. This can only be predicted andrecognised by the server which knows the initial seed.

Device 19 (USB Autorun Device Used to Access Specific Venue Information(e.g. Cinema or Specific Chain of Venues))

Even though cinema customers often know exactly which cinema/venue theywish to view. It is often difficult to find them on the internet assimple memorable URLs have been taken

For example: www.Odeon_streatham.com does not take you to the Odeon inStreatham, it's correct and unmemorable URL is . . .

http://www.odeon.co.uk/fanatic/film_times/s130/Streatham/

Customers are forced to waste time going through generic portals likeodeon.co.uk and laboriously navigate to the specific part of the sitethey are interested in, when they already knew which site they wanted toview.

By adding USB auto run to a cinema leaflet and giving them out,customers have a direct links to a specific venue on line. Inserting theUSB part of the leaflet in to a computer, it auto launches the browserwith a URL from inside the devices and takes the customer directly tothe venue's site and the information they are interested in. The URL forthe cinema does not need to be changed and the leaflet can be tracked tobuild up a profile of its use.

The USB device could be bonded to paper, a plastic cards or bephysically similar to a USB memory stick. Graphically it needs to beidentifiable and visually linked to the venue's site it will go to.

The URL given out by the device can also carry a unique identifier andbe recognised by a script on the server. A profile of use can be builtup over time and used for targeted marketing. With suitable security onthe site it can be used to book tickets, potentially allowing one clickbooking.

Device 20 (USB Autorun Device Used to Access a Taxi Service)

Log in once to taxi firm and then the application provides instant taxiordering. It is very common for taxi companies to advertise throughcredit card size flyers. These are often dropped through letterboxes,given to customers after a ride, picked up in public places like bars oradded to publications. Some customers keep these in their wallet, butmany have a specific place at home where information like this is storedlike a pin board, fridge, hallway draw or folder with similar localinformation.

It is a competitive market and getting a customer to both keep andrecognise the card could increase use and give a competitive advantage.

The printing on the cards often have several types of informationincluding the services offered by the cab company and contactinformation. As well as telephone numbers taxis often now can be bookedthrough the internet.

By adding the USB auto-run device to the taxi card, it can be insertedin the USB on a computer, auto open the browser to the taxi site anduniquely identify the card being used. An example is shown in FIG. 19.

This speeds up access to the site and acts like an internet cookie, souser information and their preferences can be pre filled in on the sitepage. The site might allow customers to speak directly to the taxicompany by opening an audio call through the internet. This makes thecard feel like a quick way to make a free telephone call.

The card can also act as an additional level of security for accountcustomers e.g. the account customers company can limit who has a key,track the identity of who is making a booking and even allocatedifferent keys to different jobs of the customers company. This wouldhelp tracking and billing the use of taxis to the taxi customer'sclients.

USB is becoming more common on Mobiles and it is feasible for cards tobe plugged in and directly dial a number (e.g. by using the GSM-ATcommand set or similar).

Device 21 (USB Autorun Device Used for Simple Computer Operation(“Computer Access for Dummies”))

Most things done on a computer require knowing how to manipulate themachine through a series of steps. To many people computers are onlyneeded for a small number of applications and remembering all the stepsneeded to get to and launch them is a problem. To others manipulation ofthe mouse and keyboard are simply too difficult. Children can often usea simple program or game long before they can manipulate the OS/finder.

A USB object which is visibly descriptive of its function and whenplugged in automatically configures the computer or opens an applicationwould be very helpful. It carries out a series of commands which controlthe OS and/or applications to a specific state. This can be used totailor a machine to a specific user or to tailor it to a place orinstitution e.g. a school or library. It also simplifies moving betweenshared machines where things are always located or in slightly differentplaces.

They might be thin flat printed tags just thick enough to fit in to asocket or a more 3 dimensional plastic devices with full USB connector.Being a physical description of a piece of the software or process hasthe advantage of being physically distributed, portable and beingdescriptive of its function even when not near the computer.

The device is not limited to opening URLs. By emulating the keyboard itcan do most actions carried out on a computer. It can act as a macro,mixing between the application and system level actions. E.g. plug it inand it opens a new page in word and then types in the letter heading.When a second device is plugged it saves to a specific folder and printsthe document.

Types of action might be:

Take me to my URL and log me in to my . . . web mail, Flicker, Mixi,MySpace

Open the application . . . Word, Explorer, Lime wire

Go to my logon for . . . Amazon, iTunes, my cinema

Log into my . . . router, company ftp, web site server page

Show me my . . . school times, home work for biology

Go to . . . CBeebies web site (website for young children)

Open my . . . bank folder

Print to a specific printer and save to my . . . correspondence folder

Save and send this file to me by email

Device 22 (USB Autorun Device with Integrated RFID)

Users can not electronically read cards at home as they requirespecialist equipment. For example an Oyster needs an RFID reader,Bankcards needs magnetic swipe or a smartcard reader.

By combining existing card technologies with existing home readablecomputer technologies (USB, Bluetooth, wireless RF for keyboards), cardscan become useful at home or work.

Often cards will perform different functions depending on the contextthey are read. For example Oyster cards, opens gates when placed on aturnstile but show account information and offer top up facility whentouched on the ticket vending machine. At home a duel purpose card mightoffer either the same action as in normal use or different actions. Itwould be useful for a USB auto run Oyster card to log in to your oysteraccount, show the current balance, usage and offer top-up. Paying forTop-up might be done in several ways:

1. By typing in credit card information

2. If the credit card also has secure auto run USB, by plugging it in.

3. If Oyster already has your credit card information and the USB partof the Oyster

card has suitable security by confirming your identity by simply typingin an additional password.

Device 23 (USB Autorun Device as a Toy)

There are many possibilities for toys which have additional USB auto runconnectivity. An example of a USB autorun device as a Toy is shown inFIG. 20. The most important aspects of auto run on toys are:

Simplifying access for younger kids—just plug it in and it works.

Portability—take your toy to friend's house and continue the game onlinefrom where you left off.

Identification of the specific toy—the player and their state isretrieved for ongoing web game without the need to log in usingpasswords.

Input and output (IO) from the toy—the fluffy toy talks and moves itsmouth when it is squeezed.

Identification with security—this allows subscription models forservices like comics (e.g. access to media and data is only availablevia the toy).

Types of Toy: Film Promotion Through a Character:

For example, A character from the film is distributed prior to the filmsrelease as part of the advance publicity. It might be bought or givenaway, for example with food packaging. When plugged in to the computerit outputs a URL, possibly with a tracking ID and loads a relevant webpage over the internet. The page could contain audio, games, movieclips, competitions etc. The film character toy may also have additionalIO as is listed below.

Subscription to Online Comic or Similar Kid's Media:

Each week it delivers the next episode. The auto-run device with ID actsas access to an online story or comic. The server tracks its use andreleases episodes as required. The device might be bought giving accessto a number of episodes or be given away showing an initial episode forfree, by paying on line the story continues, unlocking several moreepisodes. The comic/media can be used on any computer with a suitableinternet connection and when not in use can be shown off clipped to thekids clothing.

Board Game and Site:

A board game with auto-run is plugged in to computer; it outputs a URL,possibly with a tracking ID and the browser loads the relevant web pageover the internet. The game is played on the board, but the board alsoacts as an input device to the web site. Input might be by having simplebuttons built in to the board or recognising the position and ID ofcharacters/tokens moved on the board, it might also include other IO asis listed below.

A simple example of a game is trivial pursuits connected to a web site.When a player lands on a question square the ID of the token is read bythe board and data is sent to the site to prompt an audio question fromthe server or a button is pressed on the board by a player to prompt anaudio question from the server.

Accessing Online Game Through Your Character:

The character automatically launches an online game and the kid thencontrols the character within the game using the normal input devices orthe toy itself. An ID in the URL means the character could keeps itscurrent state within the game. The auto-run devise might log the playerin to a multiplayer environment game. Collecting different toyscharacters could launch either different games or different ways ofplaying the same game. Alternatively the auto-run devise might representdifferent types of equipment you use to play the game. Plug in wings andyour character flies, plug in armour and it is extra resilient.

Activity Centre:

The physical toy with auto-run USB might be a toddler's activity centre(typically made by Fisher-Prise®) with different types of actuators.Plug it in (or use wireless USB), sounds and stories are heard when thetoddler pulls and squeezes part of it, these are played via thecomputer. The sound might be sent back to the toy via the USB-audioprofile.

Soft Toy:

The soft toy (plush) is plugged in to the computer on a long cable. Thesoft stroke able toy acts as an interface for a kid's site. Bysqueezing, stroking or moving its limbs the kid navigates and playsgames on site. It acts like a dedicated mouse which auto runs a site.

Add-on to Existing Non Electronic Toys:

The USB can also act as an add-on to existing non electronic toys. TheRSPB's soft toy bird, which play the correct bird sound when squeezedare commercially very successful. By adding an auto-run bird tag totheir feet, the toy could take you to information about the bird andsubscription to the RSPB kid's site.

Toy Jewellery:

A young girl's bracelet could hold a collection of USB auto-runtrinkets. When inserted in to the computer they might launch games,stories or play music tracks off a site.

Input and Output that can be Added to a USB Auto-Run Toy:

Driving actuators on the toy, e.g. moving mouth driven by java within aweb site (important).

Recognising characters placed on different bits of a USB board games.

Mixing USB auto launch with other USB profiles like the mouse e.g. ouretch-a-sketch toy auto launches a site or local drawing app. The knobsthen both acts as mouse movements and trigger mouse down for drawing.Sound might be sent back to the toy via USB-audio profile. Input on theUSB toy might be bend, squeeze, hit, stroke or shake and incorporatesensors for flex, capacitance, heat, light, magnetic, tilt.

Device 24 (USB Autorun Device as an Intelligent Business Card)

This device type is show in FIG. 21 and its operation shown in FIGS. 22,23. The USB autorun device could act as a personal or corporate businesscard—an “autocard”. The card could contain just the name (or name andcompany for corporate use) and possibly image of the person. All theother details could be accessed once connected to a computer. The formfactor of the device could either be a slim stick the length of existingbusiness cards but a third of the width or it could be designed to besame size as existing cards to ensure compatibility with existingbusiness card storage systems.

Each card would come with a unique ID internally stored. The level oramount of contact details could be determined by colour coding on thecard—for example grey=business details, green=private contacts,red=private and personal details. So business details could includebusiness and office details and contacts website. Private details couldinclude mobile number and home address and personal contacts mightinclude blog site, private web site chat details and blog details. Atthe point the recipient of the card connects to their computer theneither; a) an e-mail notice is sent to the provider of the “autocard”enabling that card to be registered to particular person, or b) at thepoint that they make contact by e-mail then the recipients' detailswould be passed to the original provider of the “autocard”.

At any point in time the provider of the card can supply the holder oftheir card with updated details if they change their position within acompany, change company or change any of their contact details. The cardcan be given access to additional contact information if for example therecipient has business contact details but subsequently the provider ofthe card wishes to provide private contact details, There could also bea message window on the “autocard” once connected online. This enablesthe original provider of the “autocard” to send out messages such asthey are away on holiday or attending a trade show with hotel contactsetc.

CD Business Cards already exist—so we should review this technology.These are credit card sized CD-ROM that will play in any standardcomputer CD drive. They are currently still more expensive than a normalCD, but the prices are becoming lower as manufacturers gear up forlarger production runs. There appears to be two types of card; CD-Rrecordable cards and CD ROM factory produced cards. For quantitiesgreater than 500 of one single design and dataset the CD ROM is anappropriate option, but for quantities of 500 or less the CD-R is thepractical choice. CD business cards work just like a normal CD and cancontain whatever information you wish to put on them up to the capacitylimit of the disc (typically a maximum of about 45-50 MB, or about 35floppy discs). The CDs will work in most standard PC, MAC or laptopCD/DVD drive.

An example of how the “autocard” business card could be used bycompanies with existing e-mail and contact services might be a companylike Google. The “autocard” could support the existing Googlecommunication services like: Google mail/Google maps/Google chat. Byinserting the USB card the details of that contact would beautomatically loaded into a “Google card index”—one click link togmail/chat/map/VoIP/blog. Activating these will send your Google card torecipient. An example is shown in FIG. 21.

An extension to this idea is the concept of an automatic softwarerolodex application called “AUTODEX” that would be like filing system

Continuing the example above with the Google card then the “AUTODEX”application—perhaps called “GOOGLEDEX” when a usb “autocard” isconnected to PC then this would automatically insert a new card into the“AUTODEX” with all the contacts that have been authorised by the user.An example is shown in FIG. 22, which shows cards being automaticallystored in the Googledex—with interactive cards that click through toapplication. FIG. 23 shows parts of FIG. 22 in more detail.

There is also the possibility that RFID may be embedded within thebusiness card.

Device 25 (USB Autorun Device as an Internet Shopping Coupon Enabler)

This device type is show in FIGS. 24, 25. The USB autorun device couldact as a key or access to dynamic internet shopping coupons. An exampleis shown in FIG. 24. The USB device connected to a PC would provide theuser with an electronic version of the coupon pages that appear in theUS newspapers or the coupon leaflets or coupon books that are providedto consumers particularly in the USA. Examples of such pages are shownin FIG. 25. The web page/application that would be opened automaticallycould have multiple sections/pages—so providing easy navigation tocoupons for different product categories from food to electronic goods,and from holidays to meal offers and discounts.

By inserting the USB autorun device the user is taken straight to acoupon browser that would be always updated so as coupons ‘expire’(since coupon discounts and offers are typically valid only for alimited period) they would not appear on site. The USB autorun devicewould also have a unique ID. It would build up a profile attached tothis ID as the USB autorun device would be able to keep track of thecoupons that are used or the offers that interest the user. Thisprovides the opportunity for customised coupons (rather than genericcoupons available to all) that could be offered to a single user alone(although that user may not be aware of this) to entice the user backinto a particular retail outlet or online store.

On the coupon browser/application there would appear links when onlinecommerce sites are available that would provide the ability to make arapid purchase with the coupon discount applied. However some couponswould need to be printed—so these would have a print now button or savein my personal coupon book for later printing. You would need to ensurethat a coupon can only be printed ONCE—as the unique ID is held on USBdevice it is possible to delete this offer once a print requirement hasbeen made. It would also be necessary to make sure that the couponprinted cannot be photocopied easily—so therefore ensure image is hardto photocopy). The newspaper coupons could be displayed in a similarformat as they appear in newspaper and printed and cut out. VisibleComputing would receive referral/affiliate fee for all coupons accessedthrough this device.

Device 26 (USB Autorun Device as an Automatic Parcel/Shipment TrackingKey “AUTOTRACK KEY” (Also Includes “Auto Call-Back Key” Concept))

The USB autorun device could act as an automatic parcel/shipping &tracking key. The USB key would be loaded with an account number (the idcan directly relate to an account number).

The best way for this to be activated would be for the shipping company(Federal Express for example) to issue the keys to their customerspreloaded with their id—the list of id numbers would be recorded againstthe particular shipping account number. So for example the shippingcompany could issue 10×id numbers against a single account number.

The user issued with one of the usb “AUTOTRACK” keys just inserts thekey into PC and a web panel appears that might have just twobuttons—“track my shipments”—“arrange for pick-up” (if both theseoptions are available to that account). An example of an implementationis shown in FIG. 26.

As the user details are preloaded as soon as the device is inserted itprovides immediate status on current deliveries being tracked . . . orthe ability to book a shipment.

(NOTE: the USB could provide an instant call back to a particulartelephone number—on the internet this already exists—to use the serviceyou put a hot linked button on your website. Customers who press thisbutton (which invokes a JavaScript routine) can request an instanttelephone call back. When pressed, the button invoked a popup window,which asked the user questions including their name and phone number(including extension). The button can be configured with a suppliedsetup wizard set to ask multiple-choice questions, check off boxes, orplain text. A name and valid area code and phone number are required toprocess the call back request. The user can request an immediate callback or request to be called back after a specified period of time incase they need to finish their online session first. With the ‘link-it’USB device, a supplier could load a customers telephone number on thatdevice and now anywhere that user is (assuming a mobile number is used)you would get a call at the supplier's cost. This could also beattractive for mobile phone operators who could run a service so thatthe USB device is used as an “I'll call you” card. Once someone insertsthe USB device the call is made at the expense of the provider of theUSB device.)

Device 27 (USB Autorun Device as an Online Credit Card)

An increasing number of credit card transactions are undertaken onlinebut the danger of credit card fraud online exists just as it does in thehigh street. Fraud costs the economy an enormous amount: in 2000 areport estimated the cost of fraud in the UK alone to be in excess of£14bn a year. And the figure is likely to be much higher now. Plasticcard fraud alone in the UK cost £439.4m in 2005. The USB autorun devicecould be used to introduce another simple level of security

The USB autorun device could act as a personal or corporate id/orhardware pin. Online sites could introduce an auto-fill window on theonline credit card transaction pages. By inserting the USB device thepin number would get auto-completed or would enable you to enter thenumber through typing BUT without the key it would not be possible toinsert any pin number. This would ensure that the hardware key isrequired to make the transaction and even if someone knew your pinnumber it would not be valid without the USB device. If the hardware USBdevice is lost this can be reported and the unique id associated wouldbe invalidated making the card useless. The card could be plan with noname so that if it was lost anyone finding the device would be unlikelyto know who it belonged to.

Visible computing could make a small commission taken from creditcard/or merchant company as this would save the company money throughavoidance of fraud and also provide their customers with greaterconfidence.

The USB autorun device could also act as a credit card either as aduplicate device with details for use on line, or could be in sameformat as exiting credit cards except that it would include a USBconnector. So it could be used for normal chip and pin use in retailstores/restaurants etc but connected when making transactions online toverify pin number, provide greater security and perhaps also auto fillonline transaction forms to make purchasing online not only safer butfaster and easier. The cost would be extremely low since the existingchip on the chip and pin card would be used and just the USB connectorwould be the additional cost. An example is shown in FIG. 27.

In addition the inserting the USB credit card could provide you withdirect access to your account details (after verification of pin number)making this a very useful way to manage your credit/cash-flow. This USBcredit card could also be linked to your bank to provide instant accessto your account for online banking.

An example of a Oyster Travel card with a USB connector is shown in FIG.28.

Device 28 (USB Autorun Device as Fast Process to Make Purchases Online.(“ZERO CLICK” Patent or “ONE PUSH” Patent or “AUTO-CART” Patent or “AUTOFILL” or “PAYFAST” Patent Concept))

This device type is show in FIG. 29. The concept is that the USB deviceinserted into your PC will already contain your password/address/creditcard details etc so it would be possible to go to an online store and itwould not be necessary to complete most of the transaction informationyou could go straight to the item you want and just buy it by insertingthe USB device. So this would be like a “ZERO CLICK” concept forshopping).

Although one way would to achieve “zero click” would be that when youhave found an item online—you insert the USB device and it then launchesits window and fills in the details of the forms and credit cards therecould be other ways to make a fast purchase with a USB device. Anotherway for example to achieve “ZERO CLICK” may be to have a button (or akey code) on a USB lead that when pushed buys the product selected. Anexample device is shown in FIG. 29.

Another way to achieve this rapid shopping online might be to regard thepatent as facilitating an “automatic shopping cart” for onlinepurchases. The concept would be that it fills in the shopping cart as abackground task and skips straight through to the final stage—soproviding “AUTO-CART” functionality. Alternatively the USB could act asan “AUTO-FILL” or “PAYFAST” “FASTTRACK” device so that when ever youhave forms for address and credit card if the USB is connected itactually auto completes the text required.

The proposition to online merchants would therefore be that once acustomer has registered with them that they could send them the“PAYFAST” device with their first purchase—they will have therefore haveverified their name, shipping details and credit card details. The USBautorun device would therefore already be reloaded for that person andwhen they logged on to the merchants site they could use the “PAYFAST”By inserting the USB device they will automatically get logged onto thesite with their personal profiles etc updated and be ready for “PAYFAST”experience for any new purchases.

This patent concept could be combined with concept 27 USB online creditcard and/or concept 29 payments using USB device.

Device 29 (USB Autorun Device as Method of Payment Online)

This device type is show in FIG. 30. An extension of the USB credit card(device 27 above) is to make the USB device a hardware key for onlinepayment services. An example of the type of service that it couldenhance is that of PayPal®:

Founded in 1998, PayPal, an eBay® Company, enables any individual orbusiness with an email address to securely, easily and quickly send andreceive payments online. PayPal's service builds on the existingfinancial infrastructure of bank accounts and credit cards and utilizesthe world's most advanced proprietary fraud prevention systems to createa safe, global, real-time payment solution. The simple idea behindPayPal—using encryption software to allow people to make financialtransfers between computers—has become one of the world's primarymethods of online payment with 100 million account members worldwide.Available in 55 countries and regions around the world, buyers andsellers on eBay, online retailers, online businesses, as well astraditional offline businesses are transacting with PayPal.

So using PayPal as the example it is worth reviewing how this paymentsystem currently works:

PayPal is an online payment service that allows individuals andbusinesses to transfer funds electronically. You can use it to pay foronline auctions, purchase goods and services, or to make donations. Youcan even use it to send cash to someone. A basic PayPal account is free.You can send funds to anyone with an e-mail address, whether or not theyhave a PayPal account. They'll get a message from PayPal about thefunds, and then they just have to sign up for their own account.

Funds transferred via PayPal reside in a PayPal account until the holderof the funds retrieves them or spends them. If the user has entered andverified their bank account information, then the funds can betransferred directly into their account. There are also other ways towithdraw your funds.

PayPal presents their presence as an extra layer as a security feature,because everyone's information, including credit card numbers, bankaccount numbers and address, stay with PayPal. With other onlinetransactions, that information is transmitted from the buyer to themerchant to the credit card processor.

The PayPal system is still open to fraud. After a series of scams,PayPal formulated a plan to prevent criminals from using computerprograms to open dozens of fraudulent accounts with stolen credit cardnumbers. This system, known as the “Gausebeck-Levchin” test, is nowwidely used by thousands of Web sites. It requires new account creatorsto type in a word found in a small image file on the account creationpage. A script or a bot can't read this word—only a human can decipherit.

However, the use of a USB device as a hardware “PayPal” key for onlinepayment services provides another level of security—as only the owner ofthe key can make the transaction when connected to a PC and if lost caneasily be deactivated. It also enables a faster service and moreconvenient way to make the transaction. An example is shown in FIG. 30.

Device 30 (USB Autorun Device as Way to Launch Specific Adverts andGenerate Loyalty Points)

The USB autorun device could act as a hardware “cookie” that could trackwhere you go and provide information about what you request etc., butwould do so with the permission of the user as they would be receivingsome benefit from providing this information. The USB device wouldlaunch a pop up window that gives you a series of adverts and promotionsthat relate to your interests and an easy way to respond to theseoffers. In exchange for having the USB device inserted and for providingthis information you would receive discounts or coupons against productsand services.

Device 31 (USB Autorun Device as Key to Facilitate Digital RightsManagement (DRM) (for Purchase of and Use of Software, Audio, Video andPrint Products))

Digital Rights Management (generally abbreviated to DRM) is any ofseveral technologies used by publishers (or copyright owners) to controlaccess to and usage of digital data (such as software, music, movies)and hardware, handling usage restrictions associated with a specificinstance of a digital work. The term is often confused with copyprotection and technical protection measures (TPM). These two termsrefer to technologies that control or restrict the use and access ofdigital media content on electronic devices with such technologiesinstalled, acting as components of a DRM design.

The USB key provides your DRM key or other identifier—digital rightsmanagement for all of your legal content. It could also support multipleDRM standards. As a portable device it could be taken with you to accessmusic DVDs etc that you have the rights to but play and listen onanother Pc or media playing device with USB support. The concept isillustrated in FIG. 31.

Device 32 (USB Autorun Device as DVD/Book/Music Club Key andSubscription Services)

The USB autorun device could act as a personal tracking/access devicefor membership and subscription clubs. Examples are shown in FIG. 32.

Current book and DVD clubs often get you to sign up and then receivefree DVDs or books if a commitment is made to a monthly purchase of newreleases over an agreed period of time. The USB key would provide directaccess to your personal account and enable to choose what is on offereach month to fulfill your monthly purchasing commitments. All of youraccount details would be stored on this device and password to aparticular member's site. Any loyalty points/discounts could be offeredand stored on the key also.

This concept also covers the ability to access the DVD rental services.—so again insertion of the USB key gives you an instant access to yourDVD rental account and also your movie watching profile.

Device 33 (Copyright Protection for a USB Autorun Device in Shape of aCasino Chip for Gambling, Gaming, Casino Related Applications)

The USB autorun device could be produced in a form factor that reflectedits application. In the case of a device that provides access to eitheran internet gambling site or a loyalty/membership club for a casinogroup it could designed as a casino chip. The chip could also contain avalue say US $10 that would provide you with $10 of credit for thatparticular internet gambling site or $10 discount off that club'sservices or products. FIG. 33 shows an example of such a device.

Device 34 (USB Autorun Device Incorporating a Feature to Auto-LaunchMultiple URLs)

The USB autorun device can incorporate a feature to auto-launch multipleURLs. A number of buttons could be included in the device which, whenpressed, would cause the device to auto-launch a different URL for eachbutton. Each URL could be a different web site or different pages withinthe same web site.

For example a physical ‘Widget’ for a delivery service could be producedwhich incorporated a set of quick-link buttons. The ‘Widget’ could begiven to existing customers or ordered from the delivery company. Theuser would have a physical reminder of the company as well as a tangibleand direct way of accessing their online services. The quick-linkbuttons could give direct access to services such as shipment tracking,booking a pickup, or pricing tools. FIG. 34 shows an example of such adevice.

An ID number could also be appended to the URL launched by eachquick-link button. The ID would be passed as a parameter to a web serverso that the ‘Widget’ could be identified. An example of the full URLsmight be:

https://www.widget.ups.com/track/identify.cgi?id=12340987

https://www.widget.ups.com/ship/identify.cgi?id=12340987

https://www.widget.ups.com/price/identify.cgi?id=12340987

For example, when the customer connects the USB ‘Widget’ to the USB portof his computer, the device would autorun and opens an initial URL withan ID number appended. The URL would link directly to the deliveryservice website and simultaneously pass an ID number to the server sothat the ‘Widget’ could be identified. The server would receive thepassed ID number and look up the user in a database. A customised webpage would be sent back to the user's browser welcoming him. At a latertime, with the device still connected, the user could then quicklyaccess different delivery services online just by pressing one of thequick-link buttons on the device; each button causing a different URL tobe auto-launched.

Thus, in use, a person receives a ‘Widget’; he connects it to the USBport of his computer; whereupon a customised webpage automatically openson his computer. He can then use the buttons on the device to directlyaccess different services online.

A feature for auto-launching multiple URLs via simple user input (e.g.buttons) could be used for many different applications. Another exampleis an internet radio, where each button is a preset radio station chosenby the user online; or alternatively one button could launch a radiostation directory page while another could launch a radio player pagefor playing radio stations previously chosen from the directory.

Device 35 (USB Autorun Device Used for a Product Promotion)

The USB autorun device could be applied as a product promotion card orflyer. It would give direct access to online information relating to theproduct. FIG. 35 provides an example of such a device. While browsingthe products within a retail environment a customer would be able totake away a very low-cost device that would autorun and open a URL whenconnected to a computer. The URL would link directly to a page withinthe product manufacturer's website that would give specific informationrelating to the product, such as price, ordering information andoptions. An example of the URL might be:

http://www.lexus.com/models/SC/

An ID number could be appended to the URL and passed as a parameter to aweb server so that the device could be identified by the server. Thiscould be used to identify the product; enabling product specificinformation to be displayed in the web page. An example of the full URLmight be:

http://www.lexus.com/models/SC/product.cgi?id=00002345

The ID number could alternatively be used to associate user specificdata to the use of the device. For example, customers could pick up adevice at a car fair and connect it to a kiosk or PC displaying anonline car configuration tool. When the customer is finished exploringthe options for the car using the configuration tool, they could takeaway the device which would allow them to link back to a website showingthe car they were interested in and the options they had chosen. Anexample of the full URL launched by such a device might be:

http://www.lexus.com/configurator/identify.cgi?id=38591209

For example, when a person is considering buying a car, either in aretail environment such as a dealership or a trade fair, they often wantto find out more about the cars that interest them when they returnhome. They may want to view options such as colour or trim options forthe car, while at home. This is typically done by the customerremembering which car they were interested in, perhaps by its name ormodel number, and then using the manufacturer's website when they are athome. This can be a difficult and complicated process when trying tofind information relating to the specific car and options. The retailermay also want to encourage the customer to visit their website; the aimbeing to increase the customer's awareness of their online presence, orother products and services that may interest them.

A USB autorun device, in the form of a product promotion, would allowthe customer to take away direct access back to specific informationrelating to a product, in a tangible and intuitive way. The customerwould take away the product promotion card and upon returning home wouldconnect it to the USB port of his computer. The device would thenautorun and opens a URL with an ID number appended. The URL would linkdirectly to the manufacturer's website and simultaneously pass the IDnumber to the server so that the product could be identified. The serverwould receive the passed ID number and look up the product in adatabase. A web page would be sent back to the customer's browsercontaining various information specifically relating to the product ofinterest, such as price, options and so on.

Thus, in use, a person takes away a product promotion card or flyer; hereturns home and connects it to the USB port of his computer; whereupona webpage automatically opens on his computer, enabling him to viewinformation relating to the specific product he was interested in.

Device 36 (USB Autorun Device Using One-Time-Only Data)

For security purposes the autorun device could include one-time-only(OTO) data in the URL so that a device can be authenticated by a server.That is, part of the URL would change on each connection of the devicee.g.

http://www.domain.com/index.php?id=2413&code=7980

(where 7980 is OTO)

This could be done in one of three ways.

1. A URL is sequentially read from a list of URLs, each with a differentnumber. The URL would not truly be OTO but with a suitable list lengththis would be acceptable. The list of URLs would need to be protected.

2. A number is sequentially read from a list of different numbers, andthen appended to the base URL. The URL would not truly be OTO but with asuitable list length this would be acceptable. The list of numbers wouldneed to be protected.

3. An OTO number or ‘passcode’ is generated using a seed and hashalgorithm, and then appended to the base URL. This URL would be OTO. Theseed would need to be protected.

Option 3, an OTO passcode generator, is the most secure option. OTOpasscodes appended to URLs would provide a low to medium level ofsecurity suitable for applications like web-email login (i.e. low-midlevel security, protecting low value information).

The method for generating OTO passcodes would use a simple hashalgorithm to generate a unique code on each power-up (i.e. a“passcode”). The hash algorithm would be a part of the program stored onthe USB chip of the autorun device. The chip would also have a “key”,stored in the program memory (i.e. an alpha-numeric string). If the“key” is unique for each device this would make it even more secure.

On power-up the USB chip would use the hash algorithm, the key, and theprevious passcode to generate the next passcode (if it was the firstpower-up after production it would use the ID number instead of aprevious passcode). The USB chip would store the passcode in theexternal memory ready for next time. Finally, the ID and passcode wouldbe added to the URL and the autorun process would start. The serverreceiving the URL would also know the algorithm and key and wouldcalculate which passcode to expect. FIG. 36 shows a diagram of how theprocess might work.

For example, the final URLs might be:

1st Connection http://www.vc.com/login.cgi?userid=1234&passcode=151282nd Connection http://www.vc.com/login.cgi?userid=1234&passcode=114773rd Connection http://www.vc.com/login.cgi?userid=1234&passcode=15008

4th Connection etc. . . .

FIG. 36 illustrates the operation of this device.

The following sections will describe the detailed design and operationof some implementations.

USB Web-Mail Key

This device type is show in FIG. 37. User 101 has newly subscribed to aninternet email service, which can be accessed through an internetbrowser application, enabling him to view and send email messages fromany personal computer with an internet connection.

A web-mail access apparatus 102 comprises a USB-compatible processorcomponent; a USB connector; and external graphical elements (not shown)referring to the web-mail account and the web-mail service in general.

Personal Computer (PC) 103 has an internet connection 104; a USB port105 and an Operating System (OS), incorporating software (e.g. USB HIDprofile) capable of receiving and processing keycodes (simulatingkey-strokes) from an external device (without requiring additionaldrivers); and Graphical User Interface (GUI) 106.

Upon user 101 connecting web-mail access apparatus 102 to the USB portof PC 103, the apparatus powers up and begins an initialisation process.On initialisation apparatus 102 enumerates as a HID keyboard interfaceand is recognised as such by the Operating System.

After the apparatus has been successfully initialised the apparatustransmits (in a timed sequence) an initial series of keycodes to theOperating System. Each keycode represents and simulates a keystroke,such as those performed when a user strikes a key on the PC keyboard.The initial series of keycodes sent by the apparatus 102 to the PC 103are interpreted by the Operating System as a sequence of keystrokes thatlaunch software application 107. (In this example, the softwareapplication 107 is a standard feature of the Operating System thatenables direct access to programs, files, network paths and internetURLs—for example, Windows Run). In response to this keystroke sequencethe Operating System launches the application.

After a programmed time period, (allowing time for the application tofully open) the apparatus 102 sends a second series of timed keycodes tothe PC 103. This second series of keycodes is interpreted by theOperating System as a sequence of keystrokes that represent data entryto the application 107 in the form of a text string URL (UniversalResource Locator). In this example the URL represents the website of theinternet email service subscribed to by user 101. In the preferredembodiment, the URL includes a command for automated user login (forexample, a query string including username and password that will beprocessed by a script running on the server). The last keycode sent fromthe apparatus 102 to PC 103 is interpreted by the OS as a confirmationand execution command, and is sent to the application 107 (for example,the ENTER key). The first and/or second set of keycodes (or any otherset) can include unique data—e.g data identifying or authenticating auser and/or the apparatus 102.

Application 107 then opens the URL using the Operating System's defaultinternet browser 108; the browser in turn displays the internet page ofthe web-mail service subscribed to by user 101. After initiating accessto the URL, application 107 automatically closes (for illustrationpurposes the application is shown open in FIG. 37.)

In an alternative embodiment, where a higher level of security isdesired, the URL entered into application 107 may not include a fullcommand for automated login, but instead only a part of the login, suchas the username. In this case, the web page reached by the URL is alogin page for user 101, with only a password entry being required. Thepassword may then be entered by the user in the traditional method usingthe keyboard or may be entered by apparatus 102 as an automated seriesof keycodes representing the password string; upon the user pressing abutton on apparatus 102, once.

In the example embodiment of FIG. 37, the user 101 has previouslysubscribed to a web-mail service. Apparatus 102 has been pre-programmed(for example at the store where the subscription was purchased) with theuser's unique identifier information and thus represents his personalaccess to his web-mail. The web service is graphically represented onthe case of the apparatus 102. The user thus becomes accustomed tothinking of his web-mail access as apparatus 102 and carries theapparatus with him; using it as a universal ‘key’ to access his email onany compatible internet-connected computer, simply and easily.

Since most Operating Systems include the necessary functionality (suchas the HID software) allowing the application such as 107 to initiateweb-mail access, the user can gain almost universal access, from a verywide range of computer terminals.

So, in use, user 101 connects web-mail access apparatus 102 to the USBport of an internet connected PC, such as 103. The apparatus thenautomatically sends a series of keycodes to the PC that control theOperating System 106 as previously described. This results in thedefault internet browser launching and automatically opening theinternet page of the user's web-mail service.

Technical and functional details of the web-mail key example embodimentare described below with reference to the figures.

FIG. 38 is a block diagram showing the functional components ofapparatus 102 in more detail. Apparatus 102 comprises a USB connector201; a USB-compatible microcontroller 202 and an external oscillator203. USB microcontroller 202 comprises a CPU 204; a USB interface block205; program memory 206; RAM 207; data memory 208; and an oscillatorblock 209.

USB microcontroller 202 is programmed with firmware (application codeand USB descriptors) that enables apparatus 102 to enumerate as a HIDkeyboard interface when connected to a PC.

When apparatus 102 is connected to the USB port of a PC, USBmicrocontroller 202 powers up and begins to run firmware stored inprogram memory 206. After successfully enumerating as a HID keyboard,the microcontroller accesses data stored in data memory 208; the datahaving been pre-programmed and representing the action to be performed(in this example, control the OS to open the user's web-mail internetpage using the default internet browser). The data read from memory isan instruction set that enables the microcontroller to perform theaction.

The USB microcontroller 202 then performs the action by interpreting theinstruction set and sending a series of paced USB data packets (orreports) to the PC via USB interface block 205; each packet of data sentrepresenting a keycode (or combination of keycodes). This series ofkeycodes simulates a specific sequence of keystrokes that control theOperating System to carry out the action (in this example, resulting inthe default internet browser of the PC automatically launching andopening the internet page of the user's web-mail service).

FIG. 39 is a flow diagram showing the general sequence of events thatoccurs when apparatus 102 is connected to a PC so that a pre-programmedaction is performed.

-   -   301—Apparatus 102 is connected to the USB port of a PC    -   302—Apparatus powers up    -   303—Apparatus communicates with the PC and enumerates as a HID        keyboard    -   304—Instruction set is read from memory    -   305—First keycode sequence is sent to PC    -   306—Check instruction set for next keycode sequence    -   307—Wait for a period; then send second keycode sequence    -   308—End

FIG. 40 shows an alternative embodiment 401 of the apparatus, having abutton, 411 used to initiate a second sequence of operations.

FIG. 41 is a block diagram showing the functional components of anapparatus 401.

The apparatus comprises a USB connector; a USB-compatiblemicrocontroller 502; an external oscillator 503; and a momentary pushswitch 411. USB microcontroller 502 may comprise a CPU 504; a USBinterface block 505; program memory 506; RAM 507; data memory 508; anoscillator block 509; and a general purpose input/output port (GPIO)510.

USB microcontroller 502 is programmed with firmware (application codeand USB descriptors) that enables the apparatus to enumerate as a HIDkeyboard interface when connected to a PC, and subsequently to transmitkeycodes in timed sequences. When the apparatus is connected to the USBport of a PC, USB microcontroller 502 powers up and begins to runfirmware stored in program memory 506. After successfully enumerating asa HID keyboard, the microcontroller accesses data stored in data memory508; the data having been pre-programmed and representing the action tobe performed (in this example, control the OS to open the user'sweb-mail internet page using the PC's default internet browser). Thedata read from memory is an instruction set that enables themicrocontroller to perform the action.

The USB microcontroller 502 then performs part of the action byinterpreting the instruction set and sending a series of paced USB datapackets (or reports) to the PC via USB interface block 505; each packetof data sent representing a keycode (or combination of keycodes). Thisseries of keycodes simulates a specific sequence of keystrokes thatcontrol the Operating System to carry out part of the action (in thisexample, resulting in the default internet browser of the PCautomatically launching and opening the login page of the user'sweb-mail service). The microcontroller then waits for the user to pressswitch 511. When the switch is pressed a second series of keycodes aresent to the PC and the remaining part of the action is performed (inthis example, the password is entered into the login page of the user'sweb-mail service).

FIG. 42 is a flow diagram showing the general sequence of events thatoccurs when apparatus 401 (including a button) is connected to a PC sothat a set of pre-programmed actions is performed, followed by auser-initiated second sequence of pre-programmed actions.

-   -   601—Apparatus is connected to the USB port of a PC    -   602—Apparatus powers up    -   603—Apparatus enumerates as a HID keyboard    -   604—First instruction set is read from memory    -   605—First keycode sequence is sent to PC    -   606—Check instruction set for next keycode sequence    -   607—Wait for a period; then send next keycode sequence    -   608—Check for next instruction    -   609—Wait for button press    -   610—Next instruction set is read from memory    -   611—Send next keycode sequence    -   612—End

Examples of Variants

Selected alternative embodiments of the present invention are brieflydescribed below. The example embodiments are described with reference tothe figures.

FIG. 43 shows a ‘superhero’ toy which, when connected to a computer,opens an internet page containing the next episode of a web comic story.

Toy 701 comprises a USB processor component; and a USB connector andcable. Toy 701 may also incorporate sensors and electro-mechanicalactuators; for example a solenoid-controlled mechanism to open and closethe mouth of the toy, in response to signals either a) from a microphonesensor included in the toy, or b) from signals from the PC, for examplerepresenting ‘modifier’ keycode (such as ‘Caps Lock’ or ‘Num-Lock’).

Personal Computer (PC) 702 has an internet connection 705; a USB port703; and an Operating System (OS) and Graphical User Interface (GUI).

When a user connects apparatus 701 to the USB port of PC 702, theapparatus powers up and initialises. On initialisation, apparatus 701enumerates as a HID keyboard interface and is recognised by theOperating System.

After the apparatus has been successfully initialised the apparatussends an initial series of paced keycodes to the Operating System. Eachkeycode represents a keystroke, such as are sent when a user strikes akey on the PC keyboard. The initial series of keycodes sent by theapparatus 701 to the PC 702 is interpreted by the Operating System as asequence of keystrokes that universally launch a system softwareapplication. (In this example, the software application is a standardfeature of the Operating System that enables direct access to programs,files, network paths and internet URLs—for example, Windows Run). Inresponse to this keystroke sequence the Operating System launches theapplication.

After a programmed time period, the apparatus 701 sends a second seriesof paced keycodes to the PC. This second series of keycodes areinterpreted by the Operating System as a sequence of keystrokes thatrepresent data entry to the system application in the form of a textstring URL (Universal Resource Locator). The URL represents the internetpage of the web comic story. In the preferred embodiment, the URLincludes a user ID (for example, a query string including a user IDnumber that will be processed by a server side script). Passing a userID to the remote server enables content to be unique to the user and/ordifferent content to be accessed incrementally (for example, episode 1of the story is shown when the apparatus is first connected; episode 2on the second connection and so on).

The last keycode sent from the apparatus 701 to the PC is interpreted bythe OS as a confirmation and execution command for the systemapplication (for example, ENTER key). The system application then opensthe URL using the Operating System's default internet browser 704; thebrowser in turn displays the internet page of the web comic story.

So, in use, a user connects superhero toy 701 to the USB port of aninternet-connected PC 702. The apparatus then automatically sends aseries of keycodes to the PC that control the Operating System aspreviously described. This results in the default internet browser 704launching and automatically opening an internet page containing the nextepisode of a web comic story.

Various enhancements to this example embodiment may be achieved by theaddition of simple sensors and electro-mechanical actuators to the toy.For example, as the web comic story plays within the internet browser,the body parts of toy 701 may be animated by electro-magnets orminiature motors. The story on screen and the toy may then appear tointeract with each other (for example, a character on the PC screen andthe superhero toy 701 may move in unison); or the toy may appear to beenhanced by the multimedia capabilities of the PC (for example, audiofrom the PC, in the form of dialog in the superhero's voice, may besynchronised with the automated mouth movements of toy 701). Addingsimple sensors to toy 701, to detect push and rotation for example, mayenable control of the content within internet browser 704 by means ofmanual mechanical interactions with toy 701.

A further enhancement is USB communication back from the PC 702 to thetoy 701. This enables content within the internet browser to sendcommands to toy 701 and thus control the toy's movements in response tospecific timed events within the content (for example, a characterwithin the story on-screen may ask a question and the toy may reply—themouth movements of the toy being synchronised with the audio).

It is desirable to maintain USB communication within a ‘driverless’protocol. So for example, in the case of an interactive toy such as Toy701, an additional USB interface (again using only standard systemdrivers) allows communication from the PC to the Toy 701, enablingsignals (that can be interpreted by the processor of Toy 701) forcontrol of the Toy 701 to be sent. Signals thus pass from theapplication, via the PC to the toy. For example, a generic HID interfaceor USB Audio interface may be used.

A significant advantage of the invention applied to Toys is that thenormal input devices such as a keyboard and mouse may be covered,disabled or removed entirely by unplugging from the PC for the durationof the interaction; thus ensuring that children playing with the PC byuse of the Toy cannot access or damage other data held on the PC.

FIG. 44 shows an “etch-a-sketch” style toy which, when connected to acomputer, opens a standard drawing application and enables the user tocreate drawings using a simple interface on the toy. Toy 801 comprises aUSB processor component; a USB connector and cable; and a simple userinterface 805. User interface 805 may for example comprise two rotaryknobs and two push buttons. Personal Computer (PC) 802 has a USB port803; and an Operating System (OS) and Graphical User Interface (GUI).

When a user connects apparatus 801 to the USB port of PC 802, theapparatus powers up and initialises. On initialisation, apparatus 802enumerates as both a HID keyboard interface and a HID mouse interfaceand is recognised by the Operating System.

After the apparatus has been successfully initialised the apparatussends an initial series of paced keycodes to the Operating System. Eachkeycode represents a keystroke, such as are sent when a user strikes akey on the PC keyboard. The initial series of keycodes sent by theapparatus 801 to the PC 802 are interpreted by the Operating System as asequence of keystrokes that universally launch a system softwareapplication. (In this example, the software application is a standardfeature of the Operating System that enables direct access to programs,files, network paths and internet URLs—for example, Windows Run). Inresponse to this keystroke sequence the Operating System launches theapplication.

After a programmed time period, the apparatus 801 sends a second seriesof paced keycodes to the PC. This second series of keycodes areinterpreted by the Operating System as a sequence of keystrokes thatrepresent data entry to the system application in the form of a textstring. The text string represents the name of a standard drawingapplication, such as Microsoft Paint.

The last keycode sent from the apparatus 801 to the PC is interpreted bythe OS as a confirmation and execution command for the systemapplication (for example, ENTER key). The system application then opensthe drawing application 804.

After the drawing application has been opened, the user can useinterface 805 to control the movement of the cursor within the drawingapplication on the PC screen and thus create drawings using the toy as anew input apparatus. When the interface is acted upon, data is sent fromapparatus 801 to the PC representing mouse X, Y and button events (forexample, turning a left rotary knob may cause data representing a mousebutton press and cursor movements from left to right to be sent to thePC, resulting in a horizontal line being drawn within the drawingapplication).

Interface 805 may also be used to initiate other actions with thedrawing application by sending keystroke sequences to the PC (forexample, pressing a left button may cause a series of keycodes to besent to the PC, resulting in the canvas being cleared). So, in use, auser connects toy 801 to the USB port of an internet connected PC 802.The apparatus then automatically sends a series of keycodes to the PCthat control the Operating System as previously described. This resultsin a standard drawing application, such as Microsoft Paint,automatically launching. The user can then create drawings usinginterface 805 on the toy.

It can be appreciated from the above examples that there is significantvalue in the intuitive nature of the interaction, particularly forcertain sections of the market such as children. The apparatus is eithermarked in such a way as to become associated visually with the action oractions it performs, for example by printed graphics and/or text; or isdirectly shaped into a configuration that is representative of theinteraction, for example the ‘etch-a-sketch’ or ‘superhero’configurations. In some cases, a proprietary shape may be used underlicense, such as a Disney® character (or characters), in both theapparatus and the content on the PC.

FIG. 45 shows a USB storage apparatus which, when connected to acomputer, automatically opens a file stored within memory held on theapparatus itself. The file may be an application or any other type offile recognised by the operating system. (This device is an extension ofthe invention in that it includes mass storage).

Apparatus 901 comprises a USB processor component; a mass storagecomponent; and a USB connector. Personal Computer (PC) 902 has a USBport 903; and an Operating System (OS) and Graphical User Interface(GUI).

When a user connects apparatus 901 to the USB port of PC 902, theapparatus powers up and initialises. On initialisation, apparatus 902enumerates as both a HID keyboard interface and a Mass Storage interfaceand is recognised by the Operating System.

After the apparatus has been successfully initialised the apparatussends an initial series of paced keycodes to the Operating System. Eachkeycode represents a keystroke, such as are sent when a user strikes akey on the PC keyboard. The initial series of keycodes sent by theapparatus 901 to the PC 902 are interpreted by the Operating System as asequence of keystrokes that universally launch a system softwareapplication. (In this example, the software application is a standardfeature of the Operating System that enables direct access to programs,files, network paths and internet URLs—for example, Windows Run). Inresponse to this keystroke sequence the Operating System launches theapplication.

After a programmed time period, the apparatus 901 sends a second seriesof paced keycodes to the PC. This second series of keycodes areinterpreted by the Operating System as a sequence of keystrokes thatrepresent data entry to the system application in the form of a textstring. The text string represents the file-path of the file stored onthe mass storage component of the apparatus 901.

The last keycode sent from the apparatus 901 to the PC is interpreted bythe OS as a confirmation and execution command for the systemapplication (for example, ENTER key). The system application then opensor runs the file and displays the result 904.

1. An auto phone dialer that enables a user to dial a phone number; inwhich: (a) the auto phone dialer includes a USB autorun peripheraldevice; (b) the USB autorun peripheral device sends to a computingdevice a sequence of data complying with a standard protocol; (c) thesequence of data is processed at the computing device to automaticallyinitiate a VOIP call via a VOIP server to a number stored on the USBautorun peripheral device; and (d) in which the sequence of data,without any prior input of a website address for the VOIP server orlogin data for that website or prior input of unique data identifyingthe device at any earlier time by a user, automates the direct access,over the internet, to the VOIP server.
 2. The auto phone dialer of claim1 wherein the USB autorun peripheral device does not require theinstallation of a driver or software on the computing device.
 3. Theauto phone dialer of claim 1 wherein the sequence of data includes atleast one of a URL, unique identifier information, a login, a password,a one-time-only passcode, a query string, a launch command, aconfirmation command, an execution command, a phone number, a dialstring.
 4. The auto phone dialer of claim 1 wherein the USB autorunperipheral device generates a unique sequence of data each time it isinserted.
 5. The auto phone dialer of claim 1 wherein the USB autorunperipheral device generates a unique URL each time it is inserted. 6.The auto phone dialer of claim 1 wherein the USB autorun peripheraldevice is in bi-directional communication with the computing device. 7.The auto phone dialer of claim 1 wherein the USB autorun peripheraldevice communicates with javascript software code being interpreted by aweb browser.
 8. The auto phone dialer of claim 1 further comprising anoutput device integrated with the USB autorun peripheral device.
 9. Theauto phone dialer of claim 8 wherein the output device responds to USBcommunications from the computing device.
 10. The auto phone dialer ofclaim 1 wherein the USB autorun peripheral device controls a hostoperating system using keycodes.
 11. The auto phone dialer of claim 1wherein the USB autorun peripheral device launches software using astandard operating system feature.
 12. The auto phone dialer of claim 1wherein the USB autorun peripheral device does not incorporateuser-accessible memory.
 13. The auto phone dialer of claim 1 wherein theUSB autorun peripheral device automates access to post-purchasetechnical support.
 14. The auto phone dialer of claim 1 wherein the USBautorun peripheral device, when inserted a second time, retrievesinformation entered by a user the first time it was inserted.
 15. Theauto phone dialer of claim 1 wherein the USB autorun peripheral devicehas a unique ID that cannot be modified by end users via USB.
 16. Theauto phone dialer of claim 1 wherein the USB autorun peripheral devicecauses an incoming call to the user to be initiated when it is pluggedin.
 17. The auto phone dialer of claim 1 wherein the USB autorunperipheral device results in a prompt to collect information from theuser.